Tomcat环境下如何使用相同ClientID启动两个订阅主题?
问题详情
- 目前用不同ClientID在两台服务器上订阅主题,能收到两条消息,这是正常行为。
- 现在需要在Tomcat环境下用相同ClientID启动两个主题订阅,原本以为通过CLONESUPP对应的配置参数
CLS设为1,就能实现「主题发消息时,只有一个消费者收到消息副本」的效果,但添加该参数后未生效。
用到的context.xml主题连接配置
HOST="hostname" PORT="port" CHAN="channel" TRAN="1" SCPHS="cipher" QMGR="QManager" CID="PERFTEST" BSUB="" CCSUB="" CLS="1" BPUB="" BCON="" BVER="2" PVER="8" />
排查方向参考
- 确认MQ版本兼容性:CLONESUPP(即
CLS参数)仅在MQ 7.5及以上版本支持,若使用版本过低,该参数不会生效。 - 检查订阅类型:克隆订阅不支持持久化订阅,若配置了持久化订阅(比如
BSUB参数有设置),CLS参数会失效,需确保是非持久化订阅。 - 验证配置加载情况:查看Tomcat日志,确认实际生效的连接参数中
CLS是否为1,排查是否存在配置被覆盖的情况。 - 检查队列管理器设置:MQ队列管理器需开启克隆订阅支持,可通过控制台确认对应属性是否已启用。
内容的提问来源于stack exchange,提问作者user17745726
相关产品推荐
相关产品推荐

