【发布时间】:2019-02-26 18:52:06
【问题描述】:
是否可以设置一个 IBM MQ 接收器通道来接收来自两个不同队列管理器的消息,并且发送器通道的名称相同。我正在研究客户希望有两个队列管理器(A 和 B)能够将消息发送到同一个目标队列管理器(C)的情况。 A 和 B 设置在没有共享存储的主动/被动集群设置中。
【问题讨论】:
标签: ibm-mq
是否可以设置一个 IBM MQ 接收器通道来接收来自两个不同队列管理器的消息,并且发送器通道的名称相同。我正在研究客户希望有两个队列管理器(A 和 B)能够将消息发送到同一个目标队列管理器(C)的情况。 A 和 B 设置在没有共享存储的主动/被动集群设置中。
【问题讨论】:
标签: ibm-mq
不仅可以设置 IBM MQ Receiver 通道来接收来自两个不同队列管理器的消息,建议这样做。
例如,在 QM3(接收队列管理器)上进行以下定义:
DEFINE CHANNEL(TO.QM3) CHLTYPE(RCVR) TRPTYPE(TCP)
然后在 QM1 和 QM2 上做出以下定义:
DEFINE CHANNEL(TO.QM3) CHLTYPE(SDR) TRPTYPE(TCP) CONNAME('qm3-host-name(qm3-port)') XMITQ(QM3)
DEFINE QLOCAL(QM3) USAGE(XMITQ)
这样做不会导致序列号问题,因为每个正在运行的接收器通道实例的状态都与通道名称和合作伙伴队列管理器名称无关,因此会有以下状态:-
两个通道实例可以非常愉快地同时运行,而不会相互干扰。
您可以通过在接收队列管理器 QM3 上发出以下命令来查看此状态:-
DISPLAY CHSTATUS(TO.QM3)
【讨论】: