gpt4 book ai didi

java - 轻度使用后,Tomcat 随机关闭并出现 AbstractProtocol 暂停

转载 作者:IT老高 更新时间:2023-10-28 13:51:05 24 4
gpt4 key购买 nike

在运行我的 webapp 一段时间后(时间根据流量在几小时和几天之间变化)Tomcat 似乎随机关闭了自己。在这种情况发生之前,日志中没有任何异常(没有异常(exception)),只是我的应用程序发出的正常 INFO 内容。

任何人都可以帮助如何最好地调试它吗? Tomcat 中有什么东西会触发 AbstractProtocol pause 信号吗?

日志:

09-Nov-2011 21:40:19 org.apache.coyote.AbstractProtocol pause
INFO: Pausing ProtocolHandler ["http-bio-80"]
09-Nov-2011 21:40:20 org.apache.coyote.AbstractProtocol pause
INFO: Pausing ProtocolHandler ["ajp-bio-8009"]
09-Nov-2011 21:40:21 org.apache.catalina.core.StandardService stopInternal
INFO: Stopping service Catalina

Java 版本:1.6.0_25-b06Tomcat 版本:6

最佳答案

我以前见过这种情况,日志有时可能很神秘。我确实注意到您在端口 80 上运行(这是另一个问题),这让我相信您修改了 server.xml。如果服务器上有多个 tomcat 实例,请确保它们都有唯一的关闭端口。标准端口是 8005,如果多个实例正在监听同一个端口,则可以将它们都关闭。

您的代码或利用的库中可能存在随机 System.exit(),或者您在代码中不正确地隐藏了真正的错误消息。我已经看到很多次人们在 Controller 中写这个作为错误处理的一种形式:

try {
// Do something
} catch(Exception e) {
// No rethrowing or logging, just suppressing
}

这可以防止真正的错误冒泡甚至正确记录。

我还看到 Tomcat 服务器在达到内存限制时停止运行。日志中的某处会出现堆空间错误,但由于某种原因,我发现它很容易被埋没,剩下的就是暂停消息。除了 catalina.out 之外,查看 localhost.log 可能是值得的。那里的垃圾通常比较少。

关于java - 轻度使用后,Tomcat 随机关闭并出现 AbstractProtocol 暂停,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8088193/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com