0

我有一个在 Tomcat 中运行的轴 Web 服务。在 HTTP 1.1 中,客户端在不发送 Connection: close 标头的情况下进行连接,这意味着默认值为 Keep-Alive。不幸的是,客户端似乎遇到了问题,当它出现异常时,客户端没有关闭连接。由于这些客户端在批处理作业中发送大量流量,这很快就会耗尽我的所有连接。我想强制我的 Web 服务在特定处理程序(扩展 BasicHandler)完成后立即关闭每个连接。

我该怎么做呢?即调用BasicHandler#invoke() 后如何强制服务器关闭连接?

4

1 回答 1

2

在你的 tomcat 的 server.xml 文件中,找到 HTTP 连接器定义(它是带有 protocol="HTTP/1.1" 的元素),并添加 keepAliveTimeout 属性,如下所述:

http://tomcat.apache.org/tomcat-6.0-doc/config/http.html

您必须尝试使用​​不同的值来查看哪个值可以提供您想要的行为。还请查看其他设置,有些可能对您有用。

请注意,这是 Tomcat 6 文档,因此并非所有选项都适用于 tomcat 5,因此请检查 tomcat 5 文档的相同部分。

于 2009-07-17T15:24:30.670 回答