Java / Tomcat打开TCP连接-资源监视器

时间:2019-02-13 19:46:45

标签: soap tomcat7 java-7 windows-server-2012 resource-monitor

现在,我们遇到了一个问题,我们的Windows服务器上运行的是tomcat Web服务器,有一堆“开放的TCP连接”。 Java代码正在对供应商进行SOAP调用,我们在Resource Monitor中看到很多打开的连接(如下图所示),其中显示了供应商的IP地址。我尝试了几种不同的进行SOAP调用的方法,以为该连接并未在幕后某个地方明确关闭。到目前为止,什么都没做,所以我想我可能会误解此页面实际显示的内容。

Windows Resource Monitor TCP Connections with several java.exe's (not greyed out) with the vendor's IP

与Windows资源监视器相关的TCP连接的生命周期是什么?对于不再使用一会儿的连接是否正常?如果没有,我该如何解决?

1 个答案:

答案 0 :(得分:0)

这将是代码中的连接池或资源泄漏。

为确保这不是资源泄漏,请检查您的代码,以确保使用该网络调用的任何对象均在使用后关闭连接,否则您将等到垃圾收集器运行为止。

但是,如果网络客户端支持连接池,则关闭它只能将打开的连接放回池中以备快速使用。您没有说您正在使用哪个客户端API,但是如果它支持池,那么它应该提供一个API来说明释放的连接在池中保留多长时间。

没有Windows Winsock级别的池或持久性。如果底层套接字被关闭,就是这样,它就会被关闭。