在之前的博文中記錄了單機Linux環境下消息的發送與接收(https://blog.csdn.net/Never_Blue/article/details/97886647),本博文以2個Queue Manager爲例記錄在多個Queue Manager之間消息的發送與接收。
測試步驟
1、創建2個隊列管理器
2、向其中1個隊列管理器放入測試消息
3、從另1個隊列管理器取出測試消息
在Linux中使用IBM MQ自帶的MQSC實現以上步驟:
1、創建隊列管理器QM_ORI
在[ibm_mq_install]/mqm/bin目錄執行([ibm_mq_install]指本機安裝IBM MQ的目錄,一般默認爲/opt目錄):
crtmqm QM_ORI //創建隊列管理器
strmqm QM_ORI //啓動隊列管理器
2、在隊列管理器QM_ORI中創建傳輸隊列Q1、創建遠程隊列ORI_TRANS和發送通道QM_ORI.QM_DES。
在[ibm_mq_install]/mqm/bin目錄執行:
runmqsc QM_ORI
創建的命令行如下:
DEFINE QLOCAL(Q1) USAGE(XMITQ) #創建傳輸隊列Q1
DEFINE QREMOTE(ORI_TRANS) RNAME(Q2) RQMNAME(QM_DES) XMITQ(Q1) #創建遠程隊列ORI_TRANS
DEFINE CHANNEL(QM_ORI.QM_DES) CHLTYPE(SDR) CONNAME('IP(PORT)') XMITQ(Q1) TRPTYPE(TCP) #創建通道QM_ORI.QM_DES
START CHANNEL(QM_ORI.QM_DES) #開啓通道
3、創建隊列管理器QM_DES
在[ibm_mq_install]/mqm/bin目錄執行([ibm_mq_install]指本機安裝IBM MQ的目錄,一般默認爲/opt目錄):
crtmqm QM_DES //創建隊列管理器
strmqm QM_DES //啓動隊列管理器
4、在隊列管理器QM_DES中創建本地隊列Q2、接收通道QM_ORI.QM_DES和修改監聽器配置。
在[ibm_mq_install]/mqm/bin目錄執行:
runmqsc QM_DES
創建的命令行如下:
DEFINE QLOCAL(Q2) #創建傳輸隊列Q2
DEFINE CHANNEL(QM_ORI.QM_DES) CHLTYPE(RCVR) TRPTYPE(TCP) #創建通道QM_ORI.QM_DES
ALTER LISTENER(SYSTEM.DEFAULT.LISTENER.TCP) TRPTYPE(TCP) PORT(PORT) #修改監聽器端口
START LISTENER(SYSTEM.DEFAULT.LISTENER.TCP) #啓動監聽器
5、向隊列管理器QM_ORI的遠程隊列ORI_TRANS中放入測試消息
在[ibm_mq_install]/mqm/samp/bin目錄執行:
./amqsput ORI_TRANS QM_ORI
6、接收測試消息
在[ibm_mq_install]/mqm/samp/bin目錄執行:
./amqsget Q2 QM_DES
在Linux下使用多個隊列管理器進行隊列的發送與接收已經完成!