我们的 Tomcat 6.0.29 在达到最大线程数后关闭。我非常感激任何帮助,因为它是一台生产服务器。
以下是 catalina.log 文件的一部分:
信息:为地址为空、端口为 80 的连接器创建的最大线程数(600)2011 年 3 月 8 日上午 11:19:37 org.apache.coyote.http11.Http11Protocol 暂停
信息:暂停 http-80 上的 Coyote HTTP/1.1 2011 年 3 月 8 日上午 11:19:38 org.apache.catalina.core.StandardService 停止
信息:停止服务 Catalina 2011 年 3 月 8 日上午 11:19:38 org.apache.catalina.core.StandardWrapper 卸载
信息:等待 8 个实例被释放
答案1
Tomcat 中没有在线程池完全使用时触发关闭的代码。您需要寻找执行此操作的外部进程。也许是某种形式的看门狗进程试图连接到 Tomcat,但由于所有线程都在使用中而无法连接,因此它会停止/重新启动 Tomcat?
答案2
也许有 600 个 servlet 实例正在工作,因此没有一个可用,而 Tomcat 对此无能为力?
我从这篇讨论 JBoss(底层使用 Tomcat)的文章的末尾得到的印象是情况可能就是这样:论坛帖子