【发布时间】:2016-05-08 23:14:46
【问题描述】:
我有一个在 Wildfly 9 应用服务器上运行的带有 EJB 3.1 和 CDI bean 的 Web 应用程序。我已经阅读了有关安装和部署 HA 独立集群环境的 Jboss 文档,并且根据 JBoss 文档,所有 EJB 必须使用 @Cluster 注释进行注释,以便在不同的集群节点之间分发。我的问题是,我是否需要像使用 EJB 一样注释我的 CDI bean?或者我只需要在我的 web.xml 上定义 <Distributable /> 标签,容器就会将所有 CDI bean 作为分布式对象处理?
【问题讨论】:
-
这可能取决于 bean 的范围,但我的第一个猜测是否定的。请参阅 EJB 将需要集群,因为它们是池化的并且可能保存有状态的信息。另一方面,CDI bean 很大程度上不是池化的——而是按需创建的。除非您正在处理 SessionScoped CDI bean,在这种情况下,它们跨集群的复制会对应用程序产生影响,不是因为它们是 CDI bean,而是因为它们是集群的
标签: jakarta-ee ejb cluster-computing cdi wildfly