问题现象:
1号发生本地来帐队列无法读取消息的问题,导致来帐报文均无法正常处理。
原因分析:
应用系统没有修改或上包,昨天交易和消息读取还是一切正常,mbfe的状态也是正常,mq的状态正常,以上正常可以排除系统问题和版本配置问题。
今天出现和今天发生交易的特殊性或许有关,尝试读取队列中排队的消息失败(/opt/mqm/samp/bin/amqsbcg qname qmgrname 查看不清理;/opt/mqm/samp/bin/amqsget qname qmgrname 查看并清理)。
初步认定为传输消息的特殊性导致,特殊性1,报文损坏导致(其他的报文正常收发可以排除可能),特殊性2:报文过大导致无法读取(由于无法读取消息,所有看不到队列的信息)。但可以通过对mq的属性配置进行检查来排除,特殊性3:通道状态异常,操作系统异常等(经环境检查可以排除这种可能)。
解决办法:
对MQ的配置属性进行排查,发现服务通道的消息的最大消息长度大小为4M,而其他通道配置位100M,配置不一致,修改属性后重启mq管理器,问题解决。
后续增加通道监控策略,包括通道状态、队列深度等。
java多线程监听JMS、MQ队列
本作品采用知识共享署名-非商业性使用-相同方式共享 2.5 中国大陆许可协议进行许可. 转载请注明出处和作者.http://blog.csdn.net/xtj332 背景:消息队列中有非常多的消息需要 ...
MQ队列管理器搭建(三)
MQ集群及网关队列管理器的搭建 描述: 如上图所示,为MQ的集群搭建部署图.CLUSTERA.CLUSTERB分别是两个集群,其中Qm1-Qm3.GateWayA为CLUSTERA集群中的队列 ...
MQ队列管理器搭建(二)
MQ级联方式使用场景 使用场景: 如上图所示,Application1与Application2要进行通信或者消息互换,使用MQ中间件作为中介.上图中,Applicatio