赞
踩
消费端实现了MessageListenerConcurrently监听接口,然后实现了consumeMessage这个方法。
此方法中,我开了线程池去执行消费消息的逻辑,但是走到一行打印日志的代码时候,突然不执行了。
然后就没了,也没有报任何异常,下面的其他逻辑也没有执行。我怀疑是线程挂了。
首先我排查下面的逻辑是否有问题, 发现没问题后,多打印了几个我觉得一定会打印的日志。结果发现,还是没有打印我觉得一定会打的日志。
其次,我开始追踪这个线程。
通过jps
快速找到pid, jstack -l >temp.txt
命令快速将堆栈信息导出来。
观察这个mq-incr-pool-4
线程在干嘛,是否存在等。
结果发现并没有这个mq-incr-pool-4
线程,说明这个线程挂了。
那为啥会挂呢?还没有任何报错日志。
我尝试换成了其他打印的日志。再次观察。发现可以打出来,就我那条打不出来。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。