是否可以设置 IBM MQ 接收通道来接收来自两个不同队列管理器的消息
Is it possible to setup an IBM MQ reciever channel to recieve messages from two different queue managers
是否可以设置一个 IBM MQ 接收通道来接收来自两个不同队列管理器的消息,并且发送通道命名相同。我正在考虑这样一种情况,即客户端希望有两个队列管理器(A 和 B)能够将消息发送到同一个目标队列管理器 (C)。 A 和 B 在没有共享存储的主动/被动集群设置中设置。
不仅可以设置 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)
这样做不会导致序列号问题,因为每个 运行 接收方通道实例的状态都与通道名称加上伙伴队列管理器名称相结合,因此将存在以下状态:-
- 渠道:来自合作伙伴 QMgr QM1 的 TO.QM3
- 渠道:来自合作伙伴 QMgr QM2 的 TO.QM3
两个通道实例可以运行同时非常愉快地互不干扰。
您可以通过在接收队列管理器 QM3 上发出以下命令来查看此状态:-
DISPLAY CHSTATUS(TO.QM3)
是否可以设置一个 IBM MQ 接收通道来接收来自两个不同队列管理器的消息,并且发送通道命名相同。我正在考虑这样一种情况,即客户端希望有两个队列管理器(A 和 B)能够将消息发送到同一个目标队列管理器 (C)。 A 和 B 在没有共享存储的主动/被动集群设置中设置。
不仅可以设置 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)
这样做不会导致序列号问题,因为每个 运行 接收方通道实例的状态都与通道名称加上伙伴队列管理器名称相结合,因此将存在以下状态:-
- 渠道:来自合作伙伴 QMgr QM1 的 TO.QM3
- 渠道:来自合作伙伴 QMgr QM2 的 TO.QM3
两个通道实例可以运行同时非常愉快地互不干扰。
您可以通过在接收队列管理器 QM3 上发出以下命令来查看此状态:-
DISPLAY CHSTATUS(TO.QM3)