将消息发送到另一个队列管理器前端的队列管理器上的本地队列



以下场景需要建议(为我个人学习):

设置如下:QM1 ->QM2→QM3

QM1 - 1个别名队列(将消息放入远程队列),1个远程队列(用于QM2的本地队列),1个传输队列(用于QM2)和1个发送方通道到QM2QREMOTE定义如下:

DEFINE QREMOTE('QM1.RQ1') RQMNAME('QM2') RNAME('QM2.LQ1') XMITQ('QM2') DEFPSIST(YES)

QM2 - 1个本地队列(从QM1接收消息),1个传输队列(到QM3), 1个从QM1接收方通道和1个到QM3发送方通道

QM3 - 1个本地队列(接收消息)和1个接收通道(在QM2和QM3之间)

注意:QM1和QM2连通,QM2和QM3连通,但从QM1到QM3的消息需要经过QM2才能到达QM3上的本地队列。

问题:在不修改QM2和QM3上的任何设置的情况下,为了从QM1向QM3的本地队列发送消息,QM1上需要配置什么?

按如下方式更改QREMOTE:-

ALTER QREMOTE('QM1.RQ1') RQMNAME('QM3') RNAME('QM3.LQ1') XMITQ('QM2') 

可以看到,放到这个队列的消息仍然在QM2传输队列上,当它被SDR/RCVR通道移动到QM2时,RCVR通道将对queue=QM3执行MQPUT操作。qmgr=QM3上的LQ1,然后将消息解析到QM3传输队列中,下一个SDR/RCVR通道将其移动到QM3。