是否可以设置IBM MQ接收器通道,以从两个不同的队列管理器接收消息,而发送者通道的名称相同。我正在寻找一种情况,客户希望有两个队列管理器(A和B)能够将消息发送到同一目标队列管理器(C)。 A和B是在没有共享存储的主动/被动群集设置中设置的。
答案 0 :(得分:2)
不仅可以设置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)