重启ActivationSpec遇QMID不匹配报错,如何配置自动重连?
解决WebSphere重启ActivationSpec时IBM MQ QMID不匹配问题
针对你遇到的WebSphere重启ActivationSpec后,绑定旧MQ队列管理器(QM)节点导致QMID不匹配的问题,可通过以下客户端侧(WebSphere端)配置调整解决:
1. 开启ActivationSpec的QMID不匹配允许
- 登录Deployment Manager控制台,依次进入:
Enterprise Applications > 目标EAR应用 > Manage message endpoints > 对应ActivationSpec - 找到**
Allow QMID Mismatch**属性,将其设置为true - 该配置会跳过ActivationSpec对队列管理器ID的校验,允许连接到集群中不同ID的可用QM节点
2. 优化MQ连接工厂的集群适配配置
- 确保MQ连接工厂的
Connection List中已添加所有MQ集群节点的主机地址与端口,让WebSphere能感知到集群内的全部可用节点 - 配置连接池自动清理:设置
Connection Pool的Reap Time(比如180秒)和Unused Timeout(比如300秒),让连接池自动回收失效的旧连接 - 开启自动重连(MQ 7.5及以上版本支持):在连接工厂属性中找到
Automatic Reconnection设为true,同时配置Reconnection Retry Count(重试次数)和Reconnection Retry Interval(重试间隔),确保连接断开后自动尝试连接其他节点
3. 配置ActivationSpec启动重试策略
- 在ActivationSpec属性中,设置
Maximum Retries(最大重试次数,比如5次)和Retry Interval(重试间隔,比如30秒) - 该设置让ActivationSpec首次激活失败时,自动重试连接集群内的其他QM节点,直到找到可用节点
验证方法
完成配置后,停止目标ActivationSpec,手动将U11节点下线,再重启ActivationSpec,检查是否能自动连接U12节点,且无QMID mismatch报错。
内容的提问来源于stack exchange,提问作者Chirag Shah
相关产品推荐
相关产品推荐

