Java 的 CDI 事件是不是聚集在 WildFly 中?

Posted

技术标签:

【中文标题】Java 的 CDI 事件是不是聚集在 WildFly 中?【英文标题】:Are Java's CDI events clustered in WildFly?Java 的 CDI 事件是否聚集在 WildFly 中? 【发布时间】:2018-01-16 08:08:14 【问题描述】:

我在我的网络应用程序中广泛使用javax.enterprise.event.Event 接口,我在其中触发并观察许多事件。

它就像一个魅力,除非我将应用程序部署在集群环境 (WildFly 10.1) 上,其中事件仅在触发事件的节点上观察到。

节点使用的服务器组的 WildFly 配置文件是“full-ha”,所有应用程序的 web.xml 描述符上都是 <distributable />,并且 SFSB 正确地集群在所有节点上。

所以我有几个问题。

    CDI 事件是否应该在集群环境中工作?我找不到对此的任何参考。 如果是,我怎样才能让它们工作,即触发一个事件并在每个节点中观察它?如果没有,我该如何在 WildFly 中解决这个问题?

非常感谢!

【问题讨论】:

【参考方案1】:

您在不确定的水域航行 - 这就是您找不到参考的原因。

似乎不能在 Wildfly ATM 中工作,但这将是一个有趣的补充 - 随意创建 JIRA issue for Weld。

在 Paraya 中,这似乎已经有效,但有一些限制 - 如果您愿意,请阅读他们的 docs。

【讨论】:

感谢您指出 Payara 的实现。我创建了issues.jboss.org/browse/WFLY-9272 来跟踪这一点。

以上是关于Java 的 CDI 事件是不是聚集在 WildFly 中?的主要内容,如果未能解决你的问题,请参考以下文章

在会话作用域的JSF支持bean中观察CDI事件

CDI Features

181 - flowable-cdi流程bean管理流程事件

181 - flowable-cdi流程bean管理流程事件

为啥在 CDI 中使用构造函数而不是 setter 注入?

在 Java SE 中拥有 CDI 和 JPA 的最简单方法是啥?