We have a Tomcat server that is in one case, responding to a web service and in another attempting to call a web service. In both cases the caller and end point are running on the local box. Yet there is a connection being lost and we know that it is not a network appliance.
Here are part of the exceptions:
The response:
Caused by: ClientAbortException: java.net.SocketException: Software caused connection abort: socket write error
at org.apache.x.connector.OutputBuffer.doFlush(OutputBuffer.java:364)
at org.apache.x.connector.OutputBuffer.flush(OutputBuffer.java:326)
at org.apache.x.connector.Response.flushBuffer(Response.java:571)
And the call:
Caused by: java.net.SocketTimeoutException: SocketTimeoutException invoking http://localhost:7720/x/xService: Read timed out
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
The particulars:
Server version: Apache Tomcat/7.0.40
Server number: 7.0.40.0
OS Name: Windows Server 2008 R2
OS Version: 6.1
Architecture: x86
JVM Version: 1.7.0_25-b17
JVM Vendor: Oracle Corporation
Any ideas what might be causing this?
I should add that the server, once these errors occur, does not recover gracefully. It has to be restarted.