Java Axis Web服务保持活动状态

Java Axis Web服务保持活动状态,java,web-services,apache,axis,keep-alive,Java,Web Services,Apache,Axis,Keep Alive,我在Tomcat中运行了一个axis web服务。客户端在进行连接时没有发送连接:HTTP 1.1中的close头,这意味着默认设置为Keep-Alive。不幸的是,客户机似乎有问题,当它遇到异常时,客户机没有关闭连接。由于这些客户机在批处理作业中发送大量流量,这会很快耗尽我的所有连接。我想强制我的web服务在特定处理程序(扩展BasicHandler)完成后立即关闭每个连接 我该怎么做?例如,在tomcat的server.xml文件中调用BasicHandler#invoke()后,如何强制服

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


我该怎么做?例如,在tomcat的server.xml文件中调用BasicHandler#invoke()后,如何强制服务器关闭连接?

,找到HTTP连接器定义(它是protocol=“HTTP/1.1”的元素),并添加keepAliveTimeout属性,如下所述:

你必须尝试不同的价值观,看看哪一个能让你达到你想要的行为。还可以查看其他设置,其中一些可能对您有用


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

我知道这个选项。问题是它是服务器范围的。我不想弄乱我的JSP和servlet保持活动超时。不过,只有这一个webservice.HTTP处理不会向应用程序公开。我建议您在server.xml中的另一个端口上定义另一个HTTP连接器,并让web服务客户端使用它。:)对不起。昨天我恐怕不行,不,你可能想考虑把Apache WebServer放到你的应用服务器前面。这将为您提供对连接的共同控制,apache将执行http配置而不是appserver,并且还允许您使用mod_rewrite在新的tomcat连接器上自动引导webservice请求,这样客户端就不必更改其URL。