0

为了减少数据库命中,我使用静态变量来存储数据库中的数据。在WAR部署时,这些数据存储在这些变量中,因为它的变化并不那么频繁。这种情况工作正常,因为范围只有一个 a WAR。现在我有另一个应用程序,我需要访问这些变量但由于不同的应用程序范围,我无法在另一个应用程序中访问它们。

另外,我有一个EAR包含上述内容的内容WAR和一个包含两个sJAR的一些常见业务逻辑的内容。WAR那么,EAR是否可以通过JAR或使用一些不同的方法来共享这些变量?

如果有任何javaEE概念可以在这种情况下提供帮助,那么也请告诉我。

我为此使用mavenwithJboss7.1.1.Final

4

2 回答 2

1

您应该使用 Infinispan,这是 JBoss 7 https://docs.jboss.org/author/display/ISPN/Getting+Started+Guide+-+JBoss+AS+7的内置缓存机制。在 Java EE 中,通常不赞成在静态字段中缓存数据。

但是,如果您仍希望将数据缓存在静态字段中,则需要确保具有缓存的类在所有 WAR 之间共享。这意味着您必须创建瘦的 WAR

于 2013-03-04T15:54:10.953 回答
1

看起来您需要企业缓存解决方案。市场上有很多选择。它们包括但不限于

开源框架

  1. 内存缓存
  2. EHCache
  3. Infinispan(菲利普提到)

商业产品

  1. 甲骨文一致性
  2. 千兆空间 XAP
  3. 宝石之火

对于您的第二个问题,只要您的 JAR 部署在该EAR/lib文件夹中,就可以了。

于 2013-03-04T16:48:23.220 回答