向 MQOutput 节点发送消息

Sending messages to MQOutput node

只是想确认 MQ 将消息传递到 MQOutput 节点的正确方式。最近遇到一个让我感到有点困惑的情况。这是场景。

我在 Qmgr 上有一个本地队列,比如说 (A),它接收来自应用程序的消息,并有一个与此 qmgr(A) 关联的本地代理,并部署了消息流,它使用来自该队列的消息并将其丢弃到队列管理器 (B) 上的另一个本地 (L.B) 队列。

要成功将消息发送到 qmgr(B),我必须

  1. 在 Qmgr(A) 上创建远程队列定义,传输队列名称与远程队列管理器名称匹配,此处(B) MQOutput 节点值设置为,queue->remote queue definition name on (A) 和队列管理器值设置为空白

  2. 只创建与远程队列管理器名称相匹配的传输队列,此处(B)。 MQOutput 节点值设置为队列-> 目标本地队列 (L.B),队列管理器值设置为 (B).

当我执行第一个进程时,注意到消息到达了目的地,而当我执行后一个进程时,注意到本地队列中有消息。

当需要将消息丢弃到 'n' 个本地队列时,是否有必要始终创建 'n' 个远程队列定义?

请指导我更好地理解这一点。在此先感谢你们每一位。

无需创建 n 个远程队列定义,MQ 乐于接受在 "Queue Manager Name" 上标记为发往 "Queue Name" 的输出。

您说当使用方法 2 时,您的消息是 "sitting up in the local queue"。要解决此问题,您必须检查几项内容。

  • 我假设命名队列 L.B 是在 QMgr B 而不是 QMgr A 上定义的?
  • 我假设消息所在的本地队列是传输队列?
  • 您是否定义了一个通道来从它们卡在的传输队列中读取消息?
  • 您是否启动了应该将消息从传输队列移到 QMgr B 的通道?