顺便说一句,我将使用 Payara....
假设我有:
JMS 主题
配置为持久主题订阅者的 MDB
整个集群部署了多个 MDB 实例,它们都使用相同的客户端 ID 值来进行持久订阅。
如果是这种情况,并且考虑到客户端 ID 值和持久订阅的工作方式,集群中只有 1 个 MDB 实例会成功连接而其他实例会失败,这种说法是否正确?
谢谢!
假设您有一个 MDB 部署到集群,因此集群中有多个 MDB 实例尝试监听。
最佳答案
从 JMS 2.0 API [1] 开始,您可以在应用程序集群中的节点之间共享相同的持久订阅。
The following change has been made to aid scalability:
Applications are now permitted to create multiple consumers on the same durable or non-durable topic subscription. In previous versions of JMS only a single consumer was permitted.
您可以使用 JMS 2.0+ API 通过 JMSContext.createSharedDurableConsumer() 方法创建共享持久使用者 [2]
[1] https://java.net/projects/jms-spec/pages/JMS20FinalRelease#What_s_new_in_JMS_2.0 ? (?是链接的一部分 - 去图)
关于java - 具有多个实例的集群中的 JMS 持久订阅者,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38151575/