在WebSphere MQ 7中,我可以使用一台计算机将消息发送到远程队列

时间:2012-01-28 07:31:55

标签: ibm-mq

我是WebSphere MQ的新手。我正在IBM网站上练习教程,我想知道我是否需要两台独立的计算机才能将消息发送到远程队列? 我正在使用笔记本电脑,我想知道如果我创建另一个用户帐户,我可以使用该用户帐户将消息发送到远程队列吗?

1 个答案:

答案 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)。