我需要在jboss运行后保持一个值。我需要在tomcat启动之前使用

时间:2014-04-11 07:19:54

标签: java java-ee tomcat jboss

在我的项目中,我使用的是jboss 4.0tomcat 6.0服务器, 并且有一个Defaultconstant.java文件,它不是一个servlet类(即Separate entity class)

DefaultConstant.java的值存储为静态变量并以静态块写入。

当我启动我的jboss服务器时,Defaultconstant.java文件正在加载所有必需的值,我将它存储在地图中。

当我运行我的tomcat服务器时。 第二次加载相同的文件,**它创建另一个用于存储Tomcat初始化值的映射。

我的要求输出是: 我需要保存这些映射值,并且不应该允许在tomcat启动期间再次重新加载映射。

1 个答案:

答案 0 :(得分:0)

使用系统属性定义Defaultconstant可以保存/加载数据的路径。

根据Defaultconstant的工作方式,您可以在数据不再更改时保存数据,也可以在应用服务器关闭时使用ServletContextListener通知班级。

编辑 Java没有提供在进程之间共享数据的简单方法。因此,当Tomcat启动时,您需要一种方法来告诉JBoss服务器"嘿,我还需要值"。有几种选择:

  1. 您可以将值保存到JBoss的文件中,并在Tomcat中读取该文件。这将为您提供值的副本( - 如果您希望能够将更改从Tomcat传递回JBoss,则无法提供帮助。)

  2. 在JBoss中创建一个Web服务,Tomcat在启动时使用它来询问值。

  3. 将值存储在数据库中,并为两个Web服务器配置相同的数据库连接器。这样,Defaultconstant可以读取和写入相同的共享存储。