我是JBOSS Application server 7.1的新手。
我为我的应用程序创建了war并将其放在deployments文件夹中。
然后我启动了JBoss 7.1应用服务器。
战争在一些临时地点被提取出来。
现在我的应用程序我们有一些可配置的属性。
从内部应用程序中,这些属性会被修改并保存在context / web-inf / properties文件夹中。
当服务器正在运行时,这适用于我。
但是如果我重新启动服务器,那么JBOSS 7.1会再次在某个不同的临时位置重新部署战争(而不是使用以前的位置)。
由于这个原因,我保存的属性会丢失。
有什么办法可以阻止这个吗?
非常感谢任何帮助。
提前谢谢。
答案 0 :(得分:0)
在运行时修改战争中的资源是一个非常糟糕的主意。
而不是在/web-inf/properties/
中保存此属性文件,而不是将其放在其他位置。 (例如$USER_HOME/.myapp/config/
)
为什么这是一个坏主意?
答案 1 :(得分:0)
尝试通过jboss-cli或管理控制台部署WAR。它可能会在每次重新启动时重新加载部署文件夹中的项目,因为该文件夹用于热部署。
通过我提到的两种方法完成它可能会保留战争并保留相同的tmp文件。
Tho ben75是正确的,您应该在外部移动属性文件。
JBoss还使用虚拟文件系统(VFS)进行操作,我不确定Weblogic,Tomcat或WebSphere是否自行使用。
答案 2 :(得分:0)
因此,如果您未在群集中运行,只需将属性文件写入应用程序服务器外部的已定义目录,并确保存在常规备份。如果应用程序已更新,则保留配置方式。
如果群集将更改保留在数据库中,并使用JGroups / Infinispan同步这些值,例如。