【发布时间】:2026-01-14 23:35:01
【问题描述】:
我正在开发一个 JAX-WS Web 服务客户端。此客户端是部署在 Glassfish 3.2.1 服务器上的 Web 应用程序的一部分,并从 servlet 调用。操作系统是Windows Server 2003,我使用JDK 6。它在一分钟内向部署在其他机器上的Web服务发送数百个请求。
问题是客户端生成了越来越多的处于TIME_WAIT状态的连接(我可以在netstat中看到)。我认为打开“keep-alive”选项可以解决问题,但它没有发生 - WS 客户端打开新连接而不是重用处于 TIME_WAIT 状态的连接。
我尝试调整 Glassfish 中的“maxConnections”选项,但没有帮助。我也尝试过 JDK 7,结果相同。
是否可以在客户端请求完成后立即关闭连接,或者重用处于 TIME_WAIT 状态的现有连接?
【问题讨论】:
-
你应该看看为什么 HTTP keep-alive 不起作用。
标签: java web-services tcp glassfish jax-ws