我正在开发一个 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 状态的现有连接?