mybatis 频繁打印Mapper日志

最近刚上线的项目,偶尔会出现tomcat 日志循环打印单例Mapper的日志的问题,观察top发现cpu一直处于100%,猜测项目中存在了死循环导致的。

tomcat日志截图如下:


mybatis 频繁打印Mapper日志_第1张图片
tomcat

原因过程分析:

下面用jstack 命令查询我的tomcat进程中到底哪个线程在死循环,找出死循环的代码。

1:netstat -apn | grep 8777 查询出我tomcat的进程id (8777是我的tomcat端口)

2:jstack 查看进程中所有线程的堆栈等信息

截图如下:



mybatis 频繁打印Mapper日志_第2张图片


mybatis 频繁打印Mapper日志_第3张图片

发现某线程一直处于RUNNABLE状态,往下看一眼找出我们的业务代码出现bug的地方,原来是代码中开发人员写了一段do while,导致了死循环......

你可能感兴趣的:(mybatis 频繁打印Mapper日志)