【发布时间】:2018-07-10 13:42:42
【问题描述】:
我是 WebSphere MQ 的新手。我正在练习 IBM 站点上的教程,我想知道是否需要两台单独的计算机将消息发送到远程队列? 我正在使用笔记本电脑,我想知道是否创建另一个用户帐户,我可以使用该用户帐户将消息发送到远程队列吗?
【问题讨论】:
标签: ibm-mq
我是 WebSphere MQ 的新手。我正在练习 IBM 站点上的教程,我想知道是否需要两台单独的计算机将消息发送到远程队列? 我正在使用笔记本电脑,我想知道是否创建另一个用户帐户,我可以使用该用户帐户将消息发送到远程队列吗?
【问题讨论】:
标签: ibm-mq
WebSphere MQ 术语中的远程队列只是存在于另一个队列管理器上的队列。您不需要其他服务器,甚至不需要其他帐户。只需在同一台服务器上的同一帐户下定义两个队列管理器并连接它们。
crtmqm QMGR1
strmqm QMGR1
crtmqm QMGR2
strmqm QMGR2
runmqsc QMGR1
DEFINE LISTENER(TCP.1414) TRPTYPE(TCP) PORT(1414) CONTROL(QMGR)
START LISTENER(TCP.1414)
DEFINE QL(QMGR2) USAGE(XMITQ) TRIGGER
DEFINE CHL(QMGR1.QMGR2) CHLTYPE(SDR) TRPTYPE(TCP) +
CONNAME('127.0.0.1(1415)') XMITQ(QMGR2) REPLACE
* Next one not needed for the demo but usually there's
* a channel for reply messages to return on.
DEFINE CHL(QMGR2.QMGR1) CHLTYPE(RCVR) TRPTYPE(TCP) REPLACE
START CHL(QMGR1.QMGR2)
DEFINE QREMOTE(TARGET.QUEUE) RQMNAME(QMGR2) RNAME(TARGET.QUEUE)
END
runmqsc QMGR2
DEFINE LISTENER(TCP.1415) TRPTYPE(TCP) PORT(1415) CONTROL(QMGR)
START LISTENER(TCP.1415)
DEFINE QL(QMGR1) USAGE(XMITQ) TRIGGER
DEFINE CHL(QMGR2.QMGR1) CHLTYPE(SDR) TRPTYPE(TCP) +
CONNAME('127.0.0.1(1414)') XMITQ(QMGR1) REPLACE
DEFINE CHL(QMGR1.QMGR2) CHLTYPE(RCVR) TRPTYPE(TCP) REPLACE
DEFINE QL(TARGET.QUEUE)
END
在资源允许的情况下,您可以在一台机器上拥有尽可能多的 QMgrs。我似乎有人在服务器上拥有多达 20 个 QMgrs,但推荐数量是一个。
如果您有 WMQ v7.0 或更早版本,您只能在一台机器上安装一个 WMQ。如果您拥有在撰写本文时最新的 v7.1,则可以在同一台机器上进行多个安装。但无论哪种方式,该机器上的所有 QMgrs 都在 mqm 帐户下运行(或在 Windows 上,无论您安装并运行 WMQ 的任何帐户)。
【讨论】: