ibm-mq - 将消息发送到队列管理器上的本地队列,该队列管理器位于另一个队列管理器的前面
问题描述
需要有关以下情况的建议(供我个人学习):
设置如下:QM1 -> QM2 -> QM3
QM1 - 1 个别名队列(将消息放入远程队列)、1 个远程队列(发往 QM2 的本地队列)、1 个传输队列(发往 QM2)和 1 个发件人通道到 QM2 QREMOTE DEFN,如下所示:
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上配置什么才能将消息从QM1发送到QM3的本地队列?
解决方案
如下更改您的 QREMOTE:-
ALTER QREMOTE('QM1.RQ1') RQMNAME('QM3') RNAME('QM3.LQ1') XMITQ('QM2')
如您所见,放入此队列的消息仍然在QM2
传输队列中,当它被 SDR/RCVR 通道移动到 QM2 时,RCVR 通道将对 queue=QM3.LQ1 在 qmgr= 上执行 MQPUT QM3 然后这将解析要放置到QM3
传输队列的消息,下一个 SDR/RCVR 通道会将其移动到 QM3。
推荐阅读
- javascript - Angularjs typeahead显示对象数组
- xsl-fo - 左侧为原文,右侧为正对译文
- xamarin.ios - 为 android 类库 vs 2017 生成 nugetpackage
- javascript - 使用 CSV 或 JS 文件填充 HTML 表格中的特定 TD
- json - Angular - 我如何在整个 JSON 中替换整个字符?
- flutter - 我的 Flutter FutureBuilder 如何在布局中的多个位置更改文本?
- botframework - LUIS 机器人不考虑单数/复数意图
- sql-server - 每 5 秒将连续的 DateTime 值插入表中
- php - php MYSQL 覆盖最后一个连接链接
- matplotlib - 在 Matplotlib 中对齐忽略 BoxStyle/FancyBboxPatch/bbox 填充