发送方队列管理器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 再执行上述命令