我使用apache axis 2 1.6.2生成了Web服务客户端。 在每个请求上创建新连接,并且在成功完成请求/错误连接时未关闭。这会导致连接超时问题导致未来的请求。 我已通过netstat命令检查,并且所有连接都存在CLOSE_WAIT状态,并且不释放连接。
所有连接都不会被apache axis 2客户端自动释放。 我找到了两种方法,但不知道它是否有效,或者它可以产生任何涟漪效应。 一个是设置AUTO_RELEASE_CONNECTION_PROPERTY,第二个是REUSE_HTTP_CLIENT
我使用apache axis 2
通过myeclipse生成了客户端答案 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/