ClientAbortException,Connection reset by peer: socket write error
WEB系统运行时,tomcat经常抛出该异常,实在郁闷,网上查到了如下原因:
ClientAbortException: java.net.SocketException: Connection reset by peer: socket write error的原因是由于处理http连接时,正在输出内容时,用户关闭了IE,会出现一个"ClientAbortException",属于I/O处理 中出现的一个异常,应用服务器应该会捕捉。
Connection reset by peer的原因:
经常出现的Connection reset by peer: 原因可能是多方面的,不过更常见的原因是:
①:服务器的并发连接数超过了其承载量,服务器会将其中一些连接Down掉;
②:客户关掉了浏览器,而服务器还在给客户端发送数据;
③:浏览器端按了Stop
网友提供了如下解决方法:
可以修改tomcat的catalina.jar包,就在server目录下,只要替换 org.apache.catalina.connector.ClientAbortException类即可,原来类的代码很简单,太长贴不了,我就 贴里面我唯一修改注释过的那个方法: package org.apache.catalina.connector; import java.io.IOException; public final class ClientAbortException extends IOException { public ClientAbortException(String message, Throwable throwable) { this.message = null; this.throwable = null; //注释掉这行即可 //this.message = message; this.throwable = throwable; } } 我就注释掉了“//this.message = message;”这一行,就是把任何扔进来的错误信息都忽略,就可以防止tomcat这个让人讨厌的报错动作了。
参考:http://plplum.blog.163.com/blog/static/31032400200941491424120/
Connection reset by peer , socket write error
Causes and solutions
This exception occurs when a client made a request, and before receiving the full response, either of the following happened:
client’s browser has been closed.
client’s connection has been disconnected.
client presses the stop button.
This exception is normally harmless. It does not seem possible to trap this exception with J2SE.
参考:http://bbs.xml.org.cn/blog/more.asp?name=lisawater&id=8841&page=1