`
01404421
  • 浏览: 227019 次
  • 性别: Icon_minigender_1
  • 来自: 西安
文章分类
社区版块
存档分类
最新评论

Connection reset by peer: socket write error 的一个原因分析

阅读更多

 

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:432)

at org.apache.catalina.connector.OutputBuffer.doFlush(OutputBuffer.java:311)

at org.apache.catalina.connector.OutputBuffer.flush(OutputBuffer.java:293)

at org.apache.catalina.connector.Response.flushBuffer(Response.java:539)

at org.apache.catalina.core.StandardHostValve.status(StandardHostValve.java:287)

at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)

at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)

at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)

at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)

at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870)

at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)

at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)

at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)

at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685)

at java.lang.Thread.run(Thread.java:626)

 

 

我的这个问题是在访问首页的时候出现的,关于这个问题网上有很多解决的方法,但是都局限于这几种:

 

1:服务器的并发连接数超过了其承载量,服务器会将其中一些连接Down掉;

2:客户关掉了浏览器,而服务器还在给客户端发送数据;

3:浏览器端按了Stop;

4:服务器给客户端响应结果给防火墙拦截了。

但是我排查了很久都还是找不到原因,刚开始以为是连接池的原因,搞了好几种连接池都还是这样,无奈只能把这个问题放下,但是每天看到都是很心烦,今天终于又鼓起勇气来排查这个问题,首先是写了一个打印,发现每次访问首页,这个打印始终执行很多次,后来终于把错误来源锁定到了一段自动载入图片的代码中,终于才发现我在web.xml中配置了404跳转到首页,而首页有一张图片丢失了,所以浏览器在载入这个图片的时候,服务器又会抛出404错误,然后转向到首页,而首页又找不到这个图片,就继续抛出404,就陷入了一个死循环,这样就是为什么一段打印代码会执行很多次的原因了。当这个死循环达到一定深度,就会触发上面第一个原因:服务器的并发数超过了其承载量,然后就会自动Down掉这些进程。

希望对遇到同样问题的同学有所帮助。

心得:在遇到问题的时候,不能把思路只放在局部,而要善于用联系的眼光来分析。

 

5
1
分享到:
评论
5 楼 primer_of_java 2013-12-02  
不错,有参考价值,谢谢总结
4 楼 TX归心 2013-10-09  
不错不错老夫先撸为敬,众撸友随意
3 楼 zhengJackson 2012-12-13  
看起来楼主说的貌似有道理,但是楼主是怎么锁定“到了一段自动载入图片的代码中”,求赐教……
2 楼 雪临凝冰 2012-11-12  
看懂了,但为什么不将解决的方式一起写上呢
1 楼 fhtwins 2012-10-31  
说实话,没看懂

相关推荐

Global site tag (gtag.js) - Google Analytics