单例会话Bean提供了一种正式的编程结构,该结构可确保会话Bean将在特定 Java虚拟机(JVM)中的 每个应用程序 实例化一次。
该 JSR 318:企业JavaBeans TM,3.1版 说:
Singleton会话Bean是一个会话Bean组件,每个应用程序实例化一次。如果容器分布在许多虚拟机上,则每个应用程序将为每个JVM具有一个Singleton的bean实例。
因此,在集群应用程序中,每个集群成员将拥有自己的单例会话bean实例,并且数据不会在JVM实例之间共享(在Wildfly实现中)。
在Wildfly中,如果在集群范围内只需要一个单例实例,则可以使用
SingletonService实现。使用a
SingletonService,目标服务安装在群集中的每个节点上,但在任何给定时间仅在一个节点上启动。
看到:
- 实施HA Singleton
- cluster-ha-singleton:SingletonService部署在由SingletonStartup启动并由EJB访问的JAR中
更新:
WildFly 10增加了将给定应用程序部署为 “单个部署”的功能 。这是AS
6.0和更早版本中存在的功能的新实现。当部署到一组集群服务器时,单例部署将仅在任何给定时间部署在单个节点上。如果活动部署的节点停止或失败,则部署将自动在另一个节点上启动。
请参阅:WildFly 10
Final现在可用!



