java.net.SocketException:软件导致的连接中止:recv失败;原因和治疗?

java.net.SocketException:软件导致的连接中止:recv失败;原因和治疗?,java,exception,sockets,tomcat,Java,Exception,Sockets,Tomcat,我有一个应用程序在Win2k3虚拟机上的ApacheTomcat5.5上运行。该应用程序提供XML供某些电话设备使用,作为IVR基础设施的一部分。反过来,应用程序从一些SOAP服务接收信息 今天早上,SOAP服务间歇性超时,导致各种异常。一旦这些停止,我注意到我们的应用程序仍然执行得非常慢,因为渲染和交付页面需要很长时间。在使用Tomcat输出的设备上,以及在从我的web浏览器请求一些静态文档的简单测试中,都注意到了这种迟钝 重新启动Tomcat立即解决了问题 打开localhost日志,我看到

我有一个应用程序在Win2k3虚拟机上的ApacheTomcat5.5上运行。该应用程序提供XML供某些电话设备使用,作为IVR基础设施的一部分。反过来,应用程序从一些SOAP服务接收信息

今天早上,SOAP服务间歇性超时,导致各种异常。一旦这些停止,我注意到我们的应用程序仍然执行得非常慢,因为渲染和交付页面需要很长时间。在使用Tomcat输出的设备上,以及在从我的web浏览器请求一些静态文档的简单测试中,都注意到了这种迟钝

重新启动Tomcat立即解决了问题

打开localhost日志,我看到大量错误,直到我重新启动Tomcat:

WARNING: Exception thrown whilst processing POSTed parameters  
java.net.SocketException: Software caused connection abort: recv failed
在大量的谷歌搜索之后,我的工作原理是SOAP问题导致我的用户出错,这导致他们发出更多的请求,从而增加了应用程序的负载。这导致它没有可用的套接字来处理传入的请求

因此,我的困惑是:
1.这是一个有效的假设吗,还是我对HTTP和Tomcat的理解太过火了?
2.如果这是一个有效的假设,有没有办法增加“套接字队列”的大小,这样将来就不会发生这种情况

谢谢

IVR Avenger

您是否碰巧也检查了JVM的性能?当网站内存不足时,我也看到过类似的行为


至于可用连接的数量,您可以在tomcat conf/server.xml中调整,但是默认情况下是150(这是针对tomcat 6.0的,不确定是否针对tomcat 5.5)。

您是否也检查了JVM的运行情况?当网站内存不足时,我也看到过类似的行为


至于可用连接的数量,您可以在tomcat conf/server.xml中调整,但是默认情况下是150(这是针对tomcat 6.0的,不确定是否适用于tomcat 5.5)。

。如果这种情况再次发生,我将在重新启动之前检查所有Tomcat和JVM状态。感谢您提供有关连接的信息!我没有。如果这种情况再次发生,我将在重新启动之前检查所有Tomcat和JVM状态。感谢您提供有关连接的信息!可能的重复可能的重复