不修改QM2与QM3配置时如何在QM1配置实现向QM3本地队列发消息
解决方案
由于QM2已经提前配置了指向QM3的传输队列与发送通道,无需修改QM2、QM3侧任何配置,仅需在QM1侧完成对应配置即可实现需求,具体操作如下:
配置步骤
- 1、定义指向QM3的远程队列,指定最终目标队列管理器为QM3、目标队列为QM3的接收本地队列,传输队列直接复用QM1现有指向QM2的传输队列
QM2
执行MQSC命令如下(可根据实际场景替换自定义远程队列名、QM3本地队列名):
配置完成后,应用直接向QM1的DEFINE QREMOTE('QM1.RQ_TO_QM3') RQMNAME('QM3') RNAME('QM3.LQ1') XMITQ('QM2') DEFPSIST(YES)QM1.RQ_TO_QM3队列投递消息,即可自动经QM2中转送达QM3的本地队列。 - 2、(可选配置,支持通过队列管理器名直接寻址)如果需要让应用直接指定目标队列管理器为QM3、目标队列为QM3本地队列名即可发送消息,无需单独为每个队列定义远程队列,可在QM1上配置QM3的队列管理器别名:
DEFINE QALIAS('QM3') TARGQ('QM2') USAGE(XMITQ)
实现逻辑
消息流转路径为:
应用向QM1的远程队列投递消息 → 消息进入QM1的QM2传输队列 → 经QM1→QM2发送通道到达QM2 → QM2识别到消息目标队列管理器为QM3,自动匹配本地的QM3传输队列 → 经QM2→QM3发送通道最终投递到QM3的本地队列。
内容的提问来源于stack exchange,提问作者ker shen
相关产品推荐
相关产品推荐

