为什么以下不创建本地队列定义?我看到一个名为 REMOTE_QUEUE 的远程队列定义?我是否需要为 LOCAL_QUEUE 创建另一个 DEFINE QLOCAL?
定义 QREMOTE (LOCAL_QUEUE) RNAME (REMOTE_QUEUE) RQMNAME(REMOTE_QUEUE_MANAGER) XMITQ(REMOTE_QUEUE_MANAGER) 替换
为什么以下不创建本地队列定义?我看到一个名为 REMOTE_QUEUE 的远程队列定义?我是否需要为 LOCAL_QUEUE 创建另一个 DEFINE QLOCAL?
定义 QREMOTE (LOCAL_QUEUE) RNAME (REMOTE_QUEUE) RQMNAME(REMOTE_QUEUE_MANAGER) XMITQ(REMOTE_QUEUE_MANAGER) 替换
当您发出时,DEFINE QREMOTE(LOCAL_QUEUE)
您正在创建一个路由条目,告诉 WMQ“任何时候此QMgr 上的某人打开一个名为LOCAL_QUEUE
then 的队列,使用这些值作为队列名称、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 将它们识别为节点分隔符并且授权通配符尊重它们。