我是WebSphere MQ的新手。我正在IBM网站上练习教程,我想知道我是否需要两台独立的计算机才能将消息发送到远程队列? 我正在使用笔记本电脑,我想知道如果我创建另一个用户帐户,我可以使用该用户帐户将消息发送到远程队列吗?
答案 0 :(得分:4)
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)。