在战争中分享共同数据

时间:2013-03-04 14:08:01

标签: maven jboss ear data-sharing

为了减少数据库命中,我使用静态变量来存储数据库中的数据。 在WAR部署时,此数据存储在这些变量中,因为它不会频繁更改。 这个场景工作得很好,因为范围只有一个WAR。现在我有另一个应用程序,我需要访问这些变量 但由于应用程序范围不同,我无法在其他应用程序中访问它们。

此外,我还有一个EAR,其中包含WARJAR之上的两个WAR包含两个EAR的常见商务逻辑。 那么在JAR下可以通过javaEE或使用一些不同的方法分享这些变量吗?

如果任何maven概念在这种情况下有所帮助,那么请让我知道它。

我正在使用Jboss7.1.1.Final与{{1}}进行此

2 个答案:

答案 0 :(得分:1)

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

但是,您仍然希望将数据缓存在静态字段中,以确保在所有WAR中共享具有缓存的类。这意味着您必须创建skinny WAR s。

答案 1 :(得分:1)

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

开源框架

  1. Memcached
  2. 的EHCache
  3. Infinispan(菲利普提到)
  4. 商业产品

    1. Oracle Coherence
    2. GigaSpaces XAP
    3. 的GemFire
    4. 对于您的第二个问题,只要您的JAR部署在EAR/lib文件夹中,您就可以了。