为了减少数据库命中,我使用静态变量来存储数据库中的数据。
在WAR
部署时,此数据存储在这些变量中,因为它不会频繁更改。
这个场景工作得很好,因为范围只有一个WAR
。现在我有另一个应用程序,我需要访问这些变量
但由于应用程序范围不同,我无法在其他应用程序中访问它们。
此外,我还有一个EAR
,其中包含WAR
和JAR
之上的两个WAR
包含两个EAR
的常见商务逻辑。
那么在JAR
下可以通过javaEE
或使用一些不同的方法分享这些变量吗?
如果任何maven
概念在这种情况下有所帮助,那么请让我知道它。
我正在使用Jboss7.1.1.Final
与{{1}}进行此
答案 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)
看起来您需要企业缓存解决方案。市场上有很多选择。它们包括但不限于
开源框架
商业产品
对于您的第二个问题,只要您的JAR部署在EAR/lib
文件夹中,您就可以了。