【问题标题】:How to distribute an event to all nodes in a (Wildfly) cluster?如何将事件分发到(Wildfly)集群中的所有节点?
【发布时间】:2017-11-11 06:40:19
【问题描述】:

我想在我的JavaEE 7 WebApp 中较长运行进程的状态发生变化时通知集群中的所有节点,以便每个节点可以依次通过 WebSocket 通知其客户端有关该更改的信息。

我在集群环境中使用 Wildfly 10。

什么JavaEE 7 API / 编程模型或 Wildfly 服务将是当今实现这一目标的最佳实践?

【问题讨论】:

    标签: jakarta-ee ejb wildfly distributed-computing java-ee-7


    【解决方案1】:

    如果您想留在 JavaEE 生态系统中,那么 JMS 主题是必经之路。主题就像广播频道 - 每个订阅它的消息侦听器都将获得该消息的副本。在 wildfly 集群/域中,您需要启用 JMS(使用完整配置文件或手动添加消息传递子系统),然后启用集群消息传递,最后创建一个 jms 主题,您的通知客户端将向其中写入消息。您可以在 official wildfly quickstart repo 中找到完整示例 - 查看 helloworld-mdbmessaging-clustering 模块。
    您还可以使用在您的 java 环境之外运行的专用 PubSub 服务,并让您的应用程序为某些特定事件(例如 Redis 或 Apache camel ......)创建订阅者,但 Wildfly 中的消息传递很简单,并且适用于大多数用例。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-18
      • 1970-01-01
      • 2018-11-10
      • 2018-02-11
      • 2021-01-29
      • 1970-01-01
      • 1970-01-01
      • 2021-09-15
      相关资源
      最近更新 更多