Connection reset by peer: socket write error错误分析及解决

来源:互联网 发布:a加b的逆矩阵等于什么 编辑:程序博客网 时间:2024/05/22 10:33

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这个让人讨厌的报错动作了。

 

原创粉丝点击