我正在使用 WebSphere 8.5.5 JEE6 Appserver。
我需要共享 javax.ejb.Singleton
.那 1 个单例需要注入(inject)并被所有其他部署的 war 使用?
这可能吗?还是容器创建 1 javax.ejb.Singleton
每个应用程序实例而不是每个 JVM 1 个?
如果是这样,是否还有其他选项可以为每个 JVM 创建一个 EJB 或 CDI Singleton bean 1?
最佳答案
我会告诉你我有几个项目的结构。 War 和 EJB 模块被所有人共享。
第一的:
必须创建一个项目库,您应该在其中声明您的 EJB 远程接口(interface)和实用程序类(例如:clintLib.jar)。
第二:
在您的 EJB 模块中,您必须使用 clientLib.jar 作为 lib。
第三
在您的 war 模块中,您必须使用 clientLib.jar 作为 lib。
这样,您就可以通过在 clientLib.jar 中声明的远程接口(interface)从任何 war 中访问您的 EJB 模块。 EJB 容器将使用对您透明的方式提供对查找 EJB 实例的访问。
我的应用程序结构是:
3 war
1个图书馆项目
1 EJB 项目
关于jakarta-ee - 在所有 war 中共享 javax.ejb.Singleton,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24137146/