發送方隊列管理器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 再執行上述命令