2012-08-02 81 views
3

为什么下面不创建LOCAL quue定义?我看到名为REMOTE_QUEUE的远程队列定义?我是否需要为LOCAL_QUEUE创建另一个DEFINE QLOCAL?WebSphere MQ创建远程队列

DEFINE QREMOTE(LOCAL_QUEUE)RNAME(REMOTE_QUEUE) RQMNAME(REMOTE_QUEUE_MANAGER)XMITQ(REMOTE_QUEUE_MANAGER)更换

回答

2

当你发出DEFINE QREMOTE(LOCAL_QUEUE)您做的路由表项告诉WMQ“上任何时候有人这个 QMgr打开一个名为LOCAL_QUEUE的队列,然后使用这些值作为队列名称,QMgr名称,如果指定,则解析为此XMitQ“。当列出所有定义的队列时,此条目将显示,但它不是可以保存消息的队列。创建可容纳消息的队列的唯一方法是DEFINE QLOCAL

下一步是定义消息可以着陆的实际目标队列。在本地QMgr上定义QRem并不会在目标QMgr上定义QLocal。为此,您需要使用资源管理器登录到目标QMgr,或使用runmqsc在命令行上连接,然后在那里发出DEFINE QLOCAL(REMOTE_QUEUE)

这是一个有点不幸的是,你的示例中使用的名称,如REMOTE_QUEUE因为REMOTE_QUEUE_MANAGER它实际上是一个QLOCAL。

仅供参考 - 完全无关,但您可能需要考虑使用点作为名称分隔符,如REMOTE.QUEUE而不是REMOTE_QUEUE,因为WMQ将这些识别为节点分隔符并且授权通配符尊重它们。

+0

哦,我编造了这些名字,相信这不是我在真实的代码中拥有它的方式:)。让我重新修改我的问题,当我从远程队列中为本地队列执行define qremote命令时,我看不到在websphere mq explorer中列出的远程队列(或其本地表示)。但是我可以在runmqsc中使用dis q(*) – arrehman 2012-08-03 13:53:42

+0

来查看它。不要紧,它是authrec,一旦纠正,我能够看到它,谢谢。 – arrehman 2012-08-03 14:15:33

相关问题