IBM MQ 遠程隊列的創建與測試(AIX下)

發送方隊列管理器QM1的相關隊列通道的創建

在shell下執行:

runmqsc QM1進入命令模式

 

1、遠程隊列,指定對面隊列和本地傳輸隊列(一種本地隊列)

def qr(SEND_Q) rname(RECV_Q) rqmname(QM2) xmitq(MSGXM_QM1_TO_QM2) defpsist(yes) replace

 

2、傳輸隊列(一種本地隊列),指定發送通道

def ql(MSGXM_QM1_TO_QM2) usage(XMITQ) defpsist(YES) maxdepth(100000) MAXMSGL(4096000) trigger trigtype(FIRST) trigdata(QM1.QM2) initq(SYSTEM.CHANNEL.INITQ) replace

 

3、發送通道,指定對面的ip和端口,指定本地ip,指定傳輸隊列

def chl(QM1.QM2) chltype(SDR) LOCLADDR(127.0.0.1) discint(0) conname('127.0.0.2(1414)') xmitq(MSGXM_QM1_TO_QM2) trptype(tcp) shortrty(10000) shorttmr(30) longtmr(300) longrty(999999999) batchsz(50) replace

 

4、啓動發送通道(接收通道無需啓動)

start chl(QM1.QM2)

注:可再次執行start chl(QM1.QM2),若提示Channel 'QM1.QM2' is in use.則成功。

失敗可查看錯誤日誌:

/var/mqm/qmgrs/QM1/errors中的錯誤日誌,通常編號01的日誌是最新日誌。

可知,執行reset channel可能可以解決問題。

 

接收方隊列管理器QM2的相關隊列通道的創建

在另外一臺機子的QM2

runmqsc QM2 進入命令模式

 

1、本地接收隊列,與上面的QM1的隊列指定的接收隊列名必須相同

def ql(RECV_Q) maxdepth(100000) defpsist(yes) replace

 

2、接收通道,與上面的QM1的發送通道名必須相同

def chl(QM1.QM2) chltype(rcvr) trptype(tcp) replace

 

測試:

1、在QM1的機子發送消息

shell下,使用命令put消息(隨意字符串)

amqsput SEND_Q QM1

如果提示命令不存在,可進入路徑,cd /usr/mqm/samp/bin 再執行上述命令

啓動後,即可輸入消息,回車發送,空的時候回車退出

2、在QM2的機子查看消息

shell下,使用命令查看隊列消息

amqsgbr RECV_Q QM2

如果提示命令不存在,可進入路徑,cd /usr/mqm/samp/bin 再執行上述命令

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章