gpt4 book ai didi

java - 具有多个实例的集群中的 JMS 持久订阅者

转载 作者:太空宇宙 更新时间:2023-11-04 12:28:16 25 4
gpt4 key购买 nike

顺便说一句,我将使用 Payara....

假设我有:

  1. JMS 主题

  2. 配置为持久主题订阅者的 MDB

  3. 整个集群部署了多个 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 ? (?是链接的一部分 - 去图)

[2] https://docs.oracle.com/javaee/7/api/javax/jms/JMSContext.html#createSharedDurableConsumer-javax.jms.Topic-java.lang.String-

关于java - 具有多个实例的集群中的 JMS 持久订阅者,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38151575/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com