我们正在使用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以杀死古代应用程序线程的任何想法?
答案 0 :(得分:0)
可以使用java监控包来获取所有线程和线程转储并使用线程id终止(虽然不推荐使用线程停止它可以工作)
http://docs.oracle.com/javase/1.5.0/docs/guide/management/overview.html