如何在使用JAX-WS时启用HTTP连接重用?当我们使用AXIS2时,我们在客户存根的选项中设置了org.apache.axis2.transport.http.HTTPConstants.REUSE_HTTP_CLIENT
属性。 JAX-WS的等价物是什么?JAX-WS中的HTTP连接重用
(我已经验证了我们正在创建每个Web服务调用一个新的TCP连接。看来我们创建一个新的TCP连接之前,立即推倒以前的连接。)
如何在使用JAX-WS时启用HTTP连接重用?当我们使用AXIS2时,我们在客户存根的选项中设置了org.apache.axis2.transport.http.HTTPConstants.REUSE_HTTP_CLIENT
属性。 JAX-WS的等价物是什么?JAX-WS中的HTTP连接重用
(我已经验证了我们正在创建每个Web服务调用一个新的TCP连接。看来我们创建一个新的TCP连接之前,立即推倒以前的连接。)
据地铁JAX-WS Guide您只需将Java环境变量http.keepAlive
设置为true
即可。
因为我也遇到过这个问题,所以我深入挖掘了它。看起来目前的(JDK 6)版本并没有正确使用http.keepAlive
属性,即使指南(请参阅我的最后一篇文章)这样说,因此不会重复使用HTTP(TCP)连接对同一客户端进行多次调用。然后,我发现this bug report,证实了我的怀疑。根据错误报告,您必须将您的JAX-WS RI(aka Metro)实施更新为> = 2.1.2。
如果您更新到最新版本(在编写本文时为2.2.1),您可能必须使用认可的标准覆盖机制使JRE以正确(新)版本的库运行。这是因为JAX-WS RI 2.2基于JAX-WS 2.2 API,但只有2.1与当前的JDK/JRE版本一起交付。
干杯丹尼尔