我在Tomcat中运行了一个轴Web服务。客户端正在建立连接而不在HTTP 1.1中发送Connection:close标头,这意味着默认为Keep-Alive。不幸的是,客户端似乎遇到了问题,当它遇到异常时,客户端没有关闭连接。由于这些客户端在批处理作业中发送大量流量,因此很快就会占用我所有的连接。我希望强制我的Web服务在特定处理程序(扩展BasicHandler)完成后立即关闭每个连接。
我该怎么做?即如何在调用BasicHandler#invoke()后强制服务器关闭连接?
答案 0 :(得分:2)
在tomcat的server.xml文件中,找到HTTP Connector定义(它是带有protocol =“HTTP / 1.1”的元素),并添加keepAliveTimeout属性,如下所示:
http://tomcat.apache.org/tomcat-6.0-doc/config/http.html
您必须尝试使用不同的值来查看哪种值可以为您提供所需的行为。查看其他设置,其中一些可能对您有用。
请注意,这是Tomcat 6文档,因此并非所有选项都可以在tomcat 5上运行,因此请检查tomcat 5文档的相同部分。