IBM MQ向MQ傳送訊息
1、 檢視目前已建立的佇列管理器及執行狀態:dspmq
2、 在同一臺機器上模擬,建立並啟動兩個佇列管理器 分別用於SEND傳送和RE接收訊息
建立:crtmqm SEND、crtmqm RE 啟動:strmqm SEND、strmqm RE
3、 執行傳送方佇列管理器 並建立相應的遠端佇列、傳輸佇列及通道
1) 開啟佇列管理器並定義遠端佇列: runmqsc SEND
DEFINE QREMOTE(QR) RNAME(QL) RQMNAME(RE) XMITQ(QX) REPLACE
定QR遠端佇列,對應接受端的“本地佇列”是QL,遠端佇列屬於RE佇列管理器,使用QX佇列作為傳輸佇列(通道用)
2) 定義傳輸佇列: 定義一個名叫QX的本地佇列,被作為傳輸佇列(XMITQ)使用
DEFINE QLOCAL(QX) USAGE(XMITQ) REPLACE
3) 定義傳輸通道: 通道型別為SDR(sender) 連線名為‘127.0.0.1(1417)採用本地QX作為傳輸佇列
DEFINE CHANNEL(C) CHLTYPE(SDR) TRPTYPE(TCP) CONNAME('127.0.0.1(1417)') XMITQ(QX) REPLACE
4、 執行遠端佇列管理器 並建立相應的本地佇列及接收通道:
1) 開啟佇列管理器並定義本地佇列: runmqsc RE
定義本地佇列QL,用於接收訊息 DEFINE QLOCAL(QL) REPLACE
2) 定義接收通道C: 通道型別為RCVR(receiver)
DEFINE CHANNEL(C) CHLTYPE(RCVR) TRPTYPE(TCP) REPLACE
3) 定義並開啟接收佇列RE監聽:
DEFINE LISTENER(RELISTEN) TRPTYPE(TCP) CONTROL(QMGR) PORT(1417)
START LISTENER(RELISTEN)
5、 此時接收佇列已開啟監聽,這時要通過傳送佇列管理器開啟通道即可傳送訊息:
Runmqsc SEND---------->>Start CHANNEL(C)
6、 傳送訊息測試:
1) 啟動本地(佇列管理器SEND中的)遠端訊息佇列,寫入如下內容:
使用者下執行:amqsput QR SEND------>>訊息內容寫完回車兩下!
2)遠端(由於在本地模擬遠端)接收訊息佇列資訊,如下:
使用者下執行:amqsget QL RE