为什么我的tomcat服务器每41分钟就会停止一次?

时间:2015-10-11 16:04:38

标签: java tomcat

我上传了一个在网络托管上使用Java开发的网站。我已经将它上传到tomcat服务器上。每41分钟,我得到503错误,我必须运行startup.sh脚本。我通过我创建的程序java检测到它。我怀疑tomcat中的机器人或脚本每隔41分钟停止一次tomcat 你相信什么,你建议做什么? 我害怕因为tomcat每41分钟停一次就有人攻击我了!

1 个答案:

答案 0 :(得分:3)

最近我遇到了这个问题,如果将来有人面临同样的问题,我希望这会有所帮助。

场景:Tomcat在没有任何日志或错误的情况下关闭

1)我的问题的根本原因:使用TimerTask从任务访问的同步方法

2)我有一个单例类,其中有一个同步方法,可以根据计时器或用户操作从各种线程访问,有时这种方法需要几分钟才能完成。当TimerTask正在等待这个方法一段时间(我猜计时器超时/线程被杀死或后台发生了什么事情)并且当方法锁被解除时,tomcat就会被杀死。

所以我删除了synchronized关键字并删除了singleton,并为线程安全做了一些代码更改。然后问题就消失了。

我是如何发现的:我在同步方法的第一行中有一个日志语句,每次tomcat关闭时,我都会在最后几行找到此消息。

检查这是否有帮助:http://www.vineetmanohar.com/2010/06/howto-auto-recover-tomcat-crashes/