When making a small website, write a page that implements the file download function through the Servlet. When I click Super Practice level, Pop up the download dialog box, Click Save Normal download, No problem, when I click cancel, the server side will appear the following prompt:
ClientAbortException:java.net.SocketException:Connection Reset by Peer:socket write error
At Org.apache.catalina.connector.OutputBuffer.realWriteBytes (outputbuffer.java:366)
At Org.apache.tomcat.util.buf.ByteChunk.flushBuffer (bytechunk.java:433)
At Org.apache.tomcat.util.buf.ByteChunk.append (bytechunk.java:348)
At Org.apache.catalina.connector.OutputBuffer.writeBytes (outputbuffer.java:392)
At Org.apache.catalina.connector.OutputBuffer.write (outputbuffer.java:381)
At Org.apache.catalina.connector.CoyoteOutputStream.write (coyoteoutputstream.java:88)
At Com.lab.servlet.FileDownload.doGet (filedownload.java:92)
At Javax.servlet.http.HttpServlet.service (httpservlet.java:689)
At Javax.servlet.http.HttpServlet.service (httpservlet.java:802)
At Org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (applicationfilterchain.java:252)
At Org.apache.catalina.core.ApplicationFilterChain.doFilter (applicationfilterchain.java:173)
At Org.apache.catalina.core.StandardWrapperValve.invoke (standardwrappervalve.java:213)
At Org.apache.catalina.core.StandardContextValve.invoke (standardcontextvalve.java:178)
At Org.apache.catalina.core.StandardHostValve.invoke (standardhostvalve.java:126)
At Org.apache.catalina.valves.ErrorReportValve.invoke (errorreportvalve.java:105)
At Org.apache.catalina.core.StandardEngineValve.invoke (standardenginevalve.java:107)
At Org.apache.catalina.connector.CoyoteAdapter.service (coyoteadapter.java:148)
At Org.apache.coyote.http11.Http11Processor.process (http11processor.java:869)
At Org.apache.coyote.http11.http11baseprotocol$http11connectionhandler.processconnection ( Http11baseprotocol.java:664)
At Org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket (pooltcpendpoint.java:527)
At Org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt (leaderfollowerworkerthread.java:80)
At Org.apache.tomcat.util.threads.threadpool$controlrunnable.run (threadpool.java:684)
At Java.lang.Thread.run (Unknown Source)
caused by:java.net.SocketException:Connection reset by Peer:socket write error
At Java.net.SocketOutputStream.socketWrite0 (Native METHOD)
At Java.net.SocketOutputStream.socketWrite (Unknown Source)
At Java.net.SocketOutputStream.write (Unknown Source)
At Org.apache.coyote.http11.InternalOutputBuffer.realWriteBytes (internaloutputbuffer.java:746)
At Org.apache.tomcat.util.buf.ByteChunk.flushBuffer (bytechunk.java:433)
At Org.apache.tomcat.util.buf.ByteChunk.append (bytechunk.java:348)
At Org.apache.coyote.http11.internaloutputbuffer$outputstreamoutputbuffer.dowrite (InternalOutputBuffer.java:769 )
At Org.apache.coyote.http11.filters.ChunkedOutputFilter.doWrite (chunkedoutputfilter.java:125)
At Org.apache.coyote.http11.InternalOutputBuffer.doWrite (internaloutputbuffer.java:579)
At Org.apache.coyote.Response.doWrite (response.java:559)
At Org.apache.catalina.connector.OutputBuffer.realWriteBytes (outputbuffer.java:361)
... More
Description
Search the internet, the reasons for the general problems are as Follows:
1, This problem is generally the client in the connection is not fully established when the connection is canceled, such as the user by the browser above the "stop" button, generally no problem. however, if frequent, it means that many clients connect to the Apache server response time is too long, may be a network problem or server performance problems may have some problems with your network connection, your data transmission, may be due to time to wait too long, however, The connection inspection time limit set by the server segment is certain, then this can happen!
2. ClientAbortException:java.net.SocketException:Connection Reset by Peer:socket write error because the content is being output when the HTTP connection is being Processed. When the user closes ie, a "clientabortexception" appears, which is an exception that occurs in I/O processing and should be captured by the application Server.
3, should be the thread is occupied too much to control the
I think it might be: database library connection reached the Limit. application server maximum thread concurrency reaches the limit and memory runs Out.
No good solution has been found at the moment ...
Tomcat throws Exception: ClientAbortException:java.net.SocketException:Connection