为什么下面没有创建LOCAL quue定义?我看到一个名为REMOTE_QUEUE的远程队列定义?我是否需要为LOCAL_QUEUE创建另一个DEFINE QLOCAL?
DEFINE QREMOTE(LOCAL_QUEUE)RNAME(REMOTE_QUEUE) RQMNAME(REMOTE_QUEUE_MANAGER)XMITQ(REMOTE_QUEUE_MANAGER)替换
答案 0 :(得分:2)
当您发出DEFINE QREMOTE(LOCAL_QUEUE)
时,您正在制作一个路由条目,告诉WMQ“当此 QMgr上的某人打开名为LOCAL_QUEUE
的队列时,请使用这些值用于队列名称,QMgr名称以及(如果指定)解析为此XMitQ“。当您列出所有已定义的队列但是它不是可以保存消息的队列时,将显示此条目。创建可以保存邮件的队列的唯一方法是DEFINE QLOCAL
。
下一步是定义消息可以着陆的实际目标队列。在本地QMgr上定义QRemote也不会在目标QMgr上定义QLocal。为此,您需要使用资源管理器登录目标QMgr,或使用runmqsc
在命令行上连接并在那里发出DEFINE QLOCAL(REMOTE_QUEUE)
。
有点不幸的是,您的示例使用REMOTE_QUEUE
之类的名称,因为在REMOTE_QUEUE_MANAGER
上它实际上是一个QLocal。
仅供参考 - 完全不相关但您可能需要考虑使用点作为名称分隔符,如REMOTE.QUEUE
而不是REMOTE_QUEUE
,因为WMQ将这些视为节点分隔符,授权通配符会尊重它们。