Tomcat Web应用程序线程停留在Service Stage中 - 导致应用程序挂起

时间:2011-11-11 20:39:50

标签: multithreading tomcat isapi

我们正在使用Tomcat 6 / IIS来托管我们的Java MVC Web应用程序(Spring MVC和Frontman)。当我们看到线程在服务阶段停留数小时时,我们最近开始遇到问题 使用Lambda Probe我们看到线程开始堆积,最终应用程序无响应。处理时间增加,零字节输入或输出。网址可以访问,日志显示它已启动但从未完成 IP Stage processing time bytes-in bytes-out url
111.11.111.111 Service 00:57:26.0 0b 0b GET /Application/command/monitor

所有这些都在测试服务器上设置如下:
ISAPI过滤器工作人员:
worker.testuser.type=ajp13
worker.testuser.host=localhost
worker.testuser.port=8009
worker.testuser.socket_timeout=300
worker.testuser.connection_pool_timeout=600

在server.xml:
< Connector
port="8009" protocol="AJP/1.3"
redirectPort="8443"
tomcatAuthentication="false"
connectionTimeout="6000"
/>

有关为什么会发生这种情况或如何配置Tomcat以杀死古代应用程序线程的任何想法?

1 个答案:

答案 0 :(得分:0)

可以使用java监控包来获取所有线程和线程转储并使用线程id终止(虽然不推荐使用线程停止它可以工作)

http://docs.oracle.com/javase/1.5.0/docs/guide/management/overview.html