当我的JavaEE 7
WebApp中更长时间运行的进程状态发生变化时,我想通知集群中的所有节点,以便每个节点可以通过WebSocket通知其客户端有关该更改的信息。
我正在群集环境中使用Wildfly 10。
什么JavaEE 7
API /编程模型或Wildfly服务是今天实现这一目标的最佳做法?
答案 0 :(得分:3)
如果您想留在JavaEE生态系统中,那么JMS主题就是您的选择。主题就像广播频道 - 订阅它的每个消息收听者都将获得此消息的副本。在wildfly集群/域中,您需要启用JMS(使用完整配置文件或手动添加消息传递子系统),然后启用集群消息传递,最后创建一个jms主题,通知客户端将在其中写入消息。您可以在official wildfly quickstart repo中找到完整的示例 - 查看helloworld-mdb
和messaging-clustering
模块。
您还可以使用在java env外部运行的专用PubSub服务,让您的应用程序为某些特定事件(例如Redis或Apache camel,...)创建订阅者,但Wildfly中的消息传递很简单,适用于大多数用例。 / p>