3

为什么以下不创建本地队列定义?我看到一个名为 REMOTE_QUEUE 的远程队列定义?我是否需要为 LOCAL_QUEUE 创建另一个 DEFINE QLOCAL?

定义 QREMOTE (LOCAL_QUEUE) RNAME (REMOTE_QUEUE) RQMNAME(REMOTE_QUEUE_MANAGER) XMITQ(REMOTE_QUEUE_MANAGER) 替换

4

1 回答 1

2

当您发出时,DEFINE QREMOTE(LOCAL_QUEUE)您正在创建一个路由条目,告诉 WMQ“任何时候QMgr 上的某人打开一个名为LOCAL_QUEUEthen 的队列,使用这些值作为队列名称、QMgr 名称,如果指定,则解析到此 XMitQ”。当您列出所有已定义的队列时会显示此条目,但它不是可以保存消息的队列。创建可以保存消息的队列的唯一方法是DEFINE QLOCAL.

下一步是定义消息可以到达的实际目标队列。在本地 QMgr 上定义 QRemote 不会同时在目标 QMgr 上定义 QLocal。为此,您需要使用 Explorer 登录目标 QMgr,或者在命令行上使用连接runmqsc并发出DEFINE QLOCAL(REMOTE_QUEUE)

不幸的是,您的示例使用了类似的名称,REMOTE_QUEUE因为REMOTE_QUEUE_MANAGER它实际上是 QLocal。

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

于 2012-08-02T19:56:12.027 回答