在我的项目中,我使用的是jboss 4.0
和tomcat 6.0
服务器,
并且有一个Defaultconstant.java
文件,它不是一个servlet类(即Separate entity class)
DefaultConstant.java的值存储为静态变量并以静态块写入。
当我启动我的jboss服务器时,Defaultconstant.java
文件正在加载所有必需的值,我将它存储在地图中。
当我运行我的tomcat
服务器时。
第二次加载相同的文件,**它创建另一个用于存储Tomcat初始化值的映射。
我的要求输出是: 我需要保存这些映射值,并且不应该允许在tomcat启动期间再次重新加载映射。
答案 0 :(得分:0)
使用系统属性定义Defaultconstant
可以保存/加载数据的路径。
根据Defaultconstant
的工作方式,您可以在数据不再更改时保存数据,也可以在应用服务器关闭时使用ServletContextListener通知班级。
编辑 Java没有提供在进程之间共享数据的简单方法。因此,当Tomcat启动时,您需要一种方法来告诉JBoss服务器"嘿,我还需要值"。有几种选择:
您可以将值保存到JBoss的文件中,并在Tomcat中读取该文件。这将为您提供值的副本( - 如果您希望能够将更改从Tomcat传递回JBoss,则无法提供帮助。)
在JBoss中创建一个Web服务,Tomcat在启动时使用它来询问值。
将值存储在数据库中,并为两个Web服务器配置相同的数据库连接器。这样,Defaultconstant
可以读取和写入相同的共享存储。