apache axis 2 CLOSE_WAIT问题

时间:2014-02-01 19:40:58

标签: axis2

我使用apache axis 2 1.6.2生成了Web服务客户端。 在每个请求上创建新连接,并且在成功完成请求/错误连接时未关闭。这会导致连接超时问题导致未来的请求。 我已通过netstat命令检查,并且所有连接都存在CLOSE_WAIT状态,并且不释放连接。

所有连接都不会被apache axis 2客户端自动释放。 我找到了两种方法,但不知道它是否有效,或者它可以产生任何涟漪效应。 一个是设置AUTO_RELEASE_CONNECTION_PROPERTY,第二个是REUSE_HTTP_CLIENT

我使用apache axis 2

通过myeclipse生成了客户端

1 个答案:

答案 0 :(得分:0)

我在之前的项目中遇到过类似的问题。我通过使用Spring的WS托管bean来解决它。出现此问题,因为您每次都在创建port对象,每次都会创建http连接而不是正确关闭。

请参阅以下代码

    <bean id="viewBillInfo"
    class="org.springframework.remoting.jaxws.JaxWsPortProxyFactoryBean"
    p:serviceInterface="com.javaplex.CustomerInfoInterface"
    p:wsdlDocumentUrl="http://10.0.5.50:8080/portal/CustomerInfoPort?wsdl"
    p:namespaceUri="http://ws.customergen.com/" p:serviceName="CustomerInfo"
    p:portName="CustomerInfoPort">

这里是完整的文章,介绍如何设置基于弹簧的bean,从而获得最佳性能。

http://www.javaplex.com/spring-jax-ws-client-for-best-performance/