软件开发WAS

was突然不接收mq报文了?

我们系统与外系统通过MQ进行交互,本来接收报文正常,突然发现报文堆积在本地队列里,程序不再处理报文, 我们接收报文用的是spring的jms配置,was与mq配置在同一个AIX unix上, 再MQ的errors的日志里发现报AMQ9209这个错误, 然后我用endmqm -i和strmqm 来重启mq 发现还是堆积在队列...显示全部

我们系统与外系统通过MQ进行交互,本来接收报文正常,突然发现报文堆积在本地队列里,程序不再处理报文, 我们接收报文用的是spring的jms配置,was与mq配置在同一个AIX unix上, 再MQ的errors的日志里发现报AMQ9209这个错误, 然后我用endmqm -i和strmqm 来重启mq 发现还是堆积在队列里不接收, 无奈下,重启was,发现报文能成功处理掉, 实在不知从哪里下手, 谁能给解决下, 先感谢了!
was日志 mq日志 应用日志都没明显报错,而且应用突然不从mq取报文了 比如4台应用 会一个个的不接收mq中报文了 然后队列就堵了

收起
参与5

返回swallowluo的回答

swallowluoswallowluo  系统架构师 , 中国金融电子化公司

建议在队列中有报文堆积的时候,从以下几个方面进行检查:
1、在MQ资源管理器中查看队列中堆积的报文,检查报文的回退计数是否大于0,如果有大于0的情况,那么说明应用处理报文的时候,有回滚的情况,导致报文无法被处理;
2、生成应用的JavaCore文件,检查MDB的线程运行情况,最好可以每隔20-30秒生成一次JavaCore,连续生成3个,以便进行对比;
3、检查到MQ侦听端口的连接数,查看是否达到最大连接数;同时查看MQ error日志,检查堆积时间点前后是否有错误。
4、查看WAS的日志中,是否有线程挂起的提示。

软件开发 · 2020-09-27
浏览1173
xujj 邀答

回答者

swallowluo
系统架构师中国金融电子化公司
擅长领域: 中间件服务器前置系统

swallowluo 最近回答过的问题

回答状态

  • 发布时间:2020-09-27
  • 关注会员:2 人
  • 回答浏览:1173
  • X社区推广