JRE默认JAX-WS客户端永久挂起

时间:2018-09-15 16:59:28

标签: java web-services jax-ws

我遇到一个奇怪的情况,我是一个执行服务(都是基于Java的)的Web服务客户端,并且永远挂起。我已经按照以下说明设置了超时值:How do I set the timeout for a JAX-WS webservice client?,并且该解决方案确实有效,但是在这种特定情况下,它仍然没有超时。我已将超时设置为10秒的连接超时和30秒的请求超时。

我怀疑根本原因是某种网络设备在建立TCP和TLS会话之后间歇性地阻止数据包,并且我认为肥皂堆栈中发生的某些事情不够聪明,无法超时和拆除连接。我正在使用带有默认sun实现的JRE 1.8.X(非常接近最新版本)。

我已经能够通过使用Java创建一个简单的tcp套接字服务器来复制该问题,该服务器读取请求,但从不将响应写回到客户端,只会让您感到畏惧。

我已经创建了一个临时工作,使用看门狗线程来中断发出请求的线程,但这似乎并未终止请求。最终,除非终止并重新启动JVM,否则客户端将失败。

任何人都看到过类似的东西并且可以解决或解决问题吗?也许可以设置一些隐藏的系统属性来配置较低级别的套接字配置设置?不幸的是,切换到CXF并不是真正的选择。

0 个答案:

没有答案