将消息发送到MQOutput节点

时间:2015-05-18 16:33:43

标签: ibm-mq middleware messagebroker

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

我在Qmgr上有一个本地队列,说(A)从应用程序接收消息并且有一个与此qmgr(A)相关联的本地代理,并且部署了消息流,这消耗了来自此队列的消息并将其丢弃到另一个本地队列管理器(B)上的(LB)队列。

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

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

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

  3. 当我按照第一个过程进行操作时,注意到消息到达目的地,当我跟随后一个过程时,注意到消息就在本地队列中。

    是否有必要始终创造' n'需要将消息丢弃到' n'本地队列的数量?

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

1 个答案:

答案 0 :(得分:2)

没有必要创建n个远程队列定义,MQ很乐意接受标记为“队列管理器名称”上的“队列名称”的输出。

您说在使用方法2时,您的消息“正坐在本地队列中”。您必须检查以解决此问题。

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