您的位置:首页 > 运维架构 > Tomcat

tomcat启动后卡死

2015-10-12 20:04 274 查看
这是一台机器上启动多个tomcat遇到的问题。程序在开发机上用jetty跑没有问题。但是部署到测试机上却出问题了。而且时而正常,时而卡住。非常诡异。

看日志,一直卡在

Initializing Spring root WebApplicationContext

后面就没有日志了。

将Spring开启debug日志级别,catch可能的exception,统统没用。在网上能查到的说法都是可能某个线程连接数据库卡住了(要么是数据库地址配置不对,要么是数据库服务器暂时不可用),但是都不符合我的情况。

后来用了一个超好用的工具jstack,直接打印出堆栈情况。注意要用启动tomcat的用户执行这个命令,例如我用user_00启动tomcat,用root执行jstack都没法得到正确输出。

然后发现问题所在,main线程和另一个定时任务死锁了,他们都调用了Spring framework的getBean方法。具体还没有仔细分析。

所以如果再遇到卡住的问题,可以试试jstack。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: