测试环境websphere mq的通道减少,就剩一个
runmqsc
dis chs(*)
显示通道细节
正常情况,我们是两条接收端隧道(RCVR),两条发送端隧道(SDR)。
突然发现只有一条状态为RUNNING。其余三条均未显示。
查看mq日志
cd /var/mqm/qmgrs/队列名/errors
AMQERR01.LOG日志
可以看到,长时间没有消息,导致通道关闭。
之后,有消息传输,交易正常时,四个通道都变成了running。
中间经过各种,重置通道,reset,重启队列,endmqm -i强制关闭,strmqm。都没起作用。
直到找对端重置,接收端通道启动,发送端自己启动。这时通道是正常的。但是一段时间没消息,通道又关闭。
生产mq出现接收不到对端报文情况,mq的日志无法确定是否接收到对端报文。正好公司网络不在,无法抓包,查找资料,发现进入mq管理台runmqcs 通道名命令,使用dis chs(*) all命令,查看服务端
隧道详细信息,可以看curseqno选项,通过查看序列号是否新增,判断是否接收到新报文。
生产mq出现重启机器,发送报文,服务端无返回信息。经与服务方确认,服务端报错seqno需要为1。所以需要讲我们机器重启之后,mq的序列号重置为1。将mq的启动命令,和重置隧道命令写入开机脚本。
自己重启队列之后,不用对端重置通道,有消息发过来之后,直接通道全部running。
瞎折腾的一次