使用proxypass从Apache到Tomcat的连接在每次请求后都不会关闭

时间:2014-08-19 13:22:12

标签: apache tomcat

我目前配置了apache2,以便将特定网址(例如/ myapp)上的请求定向到tomcathost:8080 / myapp上的内部tomcat服务器。

myapp到apache2的所有请求都按预期工作。

我面临的问题是每当通过apache2向myapp发送请求时,似乎apache2保持连接对tomcat开放,过了一段时间tomcat中的所有线程都被apache占用,显然不是释放。

有人能指出我正确的方向来解决这个问题吗?

ProxyPass /myapp balancer://apps/myapp
ProxyPassReverse /myapp balancer://apps/myapp

<Proxy balancer://apps>
 BalancerMember http://appserver01:8080 route=Node01 loadfactor=1
 BalancerMember http://appserver02:8080 route=Node02 loadfactor=1
 ProxySet lbmethod=byrequests
 ProxySet stickysession=JSESSIONID|jsessionid
 ProxySet nofailover=On
</Proxy>

1 个答案:

答案 0 :(得分:0)

您可以在server.xml中设置连接时间,因此如果有任何线程打开,它会获得超时时间。

connectionTimeout="120000"

此外,您可以使用JConsole作为JDK安装的一部分来监视线程,通过JMX为您的tomcat查看是否存在导致线程增加的任何线程循环。