在我们的开发环境中,我们在 Cent OS 5.5 上有 2 个 Tomcat 7.0.22 节点,由 F5 负载均衡器和粘性会话处理。我们最近升级到 JDK 7 并开始观察随机的 tomcat 关闭。从公共共享加载器目录部署多个战争。关机时的模式如下
- 在大多数情况下,两个节点一个接一个地关闭。在一种情况下,一只雄猫死了,而另一只雄猫还在。
- catalina 日志表明在打印“INFO: Stopping service Catalina”后关闭是正常的
- 我们找不到任何 System.exit 调用
- 没有OOM的迹象
- 我们在 spring 容器中添加了一个关闭钩子,线程转储没有引发任何可疑线程。
- 后台没有运行看门狗服务
- 在 etc/lograte.d 下观察到一个轮换日志的脚本
- 用于 8080 的 HTTP 1.1 连接器,重定向 8443
- 8009 的 AJP,重定向 8443
我已经没有办法调试这个问题了。基本上,我正在寻找一个钩子或调试器,它可以让我知道调用关闭的确切进程或线程。这应该是可能的,因为它是正常关闭并且 Tomcat 处理了它。
我们将主要恢复到 JDK 1.6 并测试几天。到那时,任何帮助或指示将不胜感激
提前致谢!