热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

socketwriteerror把Tomcat搞挂了好几次,求帮助!

Tomcat上全都是以下这个错,没别的,一报就报了这一堆,这个socketwriteerror能解决吗??或者是怎么能把它输出到日志文件上,由于它的出现,Tomcat挂了好几次了,太影响了!
Tomcat 上全都是以下这个错,没别的,一报就报了这一堆,这个socket write error 能解决吗??或者是怎么能把它输出到日志文件上,由于它的出现,Tomcat 挂了好几次了,太影响了!!!望各位指点!!!

ClientAbortException:  java.net.SocketException: Software caused connection abor
t: socket write error
        at org.apache.coyote.tomcat5.OutputBuffer.realWriteBytes(OutputBuffer.ja
va:373)
        at org.apache.tomcat.util.buf.ByteChunk.append(ByteChunk.java:323)
        at org.apache.coyote.tomcat5.OutputBuffer.writeBytes(OutputBuffer.java:4
01)
        at org.apache.coyote.tomcat5.OutputBuffer.write(OutputBuffer.java:388)
        at org.apache.coyote.tomcat5.CoyoteOutputStream.write(CoyoteOutputStream
.java:76)
        at org.apache.catalina.servlets.DefaultServlet.copy(DefaultServlet.java:
1861)
        at org.apache.catalina.servlets.DefaultServlet.serveResource(DefaultServ
let.java:985)
        at org.apache.catalina.servlets.DefaultServlet.doGet(DefaultServlet.java
:448)
        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(Appl
icationFilterChain.java:237)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:157)
        at com.zyht.common.UserFilter.doFilter(UserFilter.java:23)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
icationFilterChain.java:186)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:157)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV
alve.java:214)
        at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValv
eContext.java:104)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav
a:520)
        at org.apache.catalina.core.StandardContextValve.invokeInternal(Standard
ContextValve.java:198)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextV
alve.java:152)
        at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValv
eContext.java:104)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav
a:520)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j
ava:137)
        at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValv
eContext.java:104)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j
ava:118)
        at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValv
eContext.java:102)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav
a:520)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal
ve.java:109)
        at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValv
eContext.java:104)
        at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.jav
a:520)
        at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)

        at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:16
0)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java
:799)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.proce
ssConnection(Http11Protocol.java:705)
        at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java
:577)
        at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadP
ool.java:683)
        at java.lang.Thread.run(Thread.java:595)

14 个解决方案

#1


这个异常的原因是,你的页面有一些动态生成的东西,而且相对较大。
你的服务器向客户端发送数据,结果刚发一半,客户端关闭了链接,就造成了这个错误,

一般是类似验证码这样的地方。 总之这个异常是合理的,至于是否引起tomcat挂掉,我不认为是这个原因。

除非你的这部分程序有错误!

#2


建议重装一下TOMCAT。看看还出不出这个

#3


引用 1 楼 java2000_net 的回复:
这个异常的原因是,你的页面有一些动态生成的东西,而且相对较大。
你的服务器向客户端发送数据,结果刚发一半,客户端关闭了链接,就造成了这个错误,
一般是类似验证码这样的地方。 总之这个异常是合理的,至于是否引起tomcat挂掉,我不认为是这个原因。
除非你的这部分程序有错误!

正确,这个异常是合情合理的

#4


这是我的一篇blog

在你的web server的log文件里面, 你有可能会看到一下Exception
(Window NT)
        java.io.IOException Connection Reset by Peer
   java.io.IOException: ClientAbortException: java.net.SocketException: Connection reset by peer: socket write error at

        java.io.EOFException Connection Reset by Peer
(Solaris)
        java.io.EOFException: Broken pipe
这些错误消息通常发生在使用servlet的时候,如果客户端发出了一个HTTP 请求然后在浏览器上执行一下集中操作,web server就有可能产生这种错误信息

    * 点击停止或者关闭浏览器
    * 点击刷新或者用F5命令刷新页面
    * 发送一个新的HTTP 请求

当用户进行以上动作的时候,就是对先前进行的HTTP请求的阻断或者终止,web server检测到并且恢复了这个被阻断的HTTP请求,然后在log里面写入IOException。

#5


对,不是那个错引起的tomcat 挂掉,是那个 错误一直不停的报,全输出到tomcat 上了,这就影响到tomcat 了,

#6


问题是,怎么能让那错误不输出到tomcat 上??

#7


你文件处理时候 有关闭 文件流没有。。检查下。。

#8


引用 1 楼 java2000_net 的回复:
这个异常的原因是,你的页面有一些动态生成的东西,而且相对较大。 
你的服务器向客户端发送数据,结果刚发一半,客户端关闭了链接,就造成了这个错误, 
一般是类似验证码这样的地方。 总之这个异常是合理的,至于是否引起tomcat挂掉,我不认为是这个原因。 
除非你的这部分程序有错误!

这位老兄说的基本正确,不过确实容易造成tomcat死掉。我今天还碰到了,图片存到数据库中,也页面上进行显示,结果反复刷新的情况下,图片没有完全显示就又重新加载了,相当于关了浏览器又重新打开。tomcat服务器不久就挂了。还是别用这种方式了。

#9


等待中.....

#10


try {...} catch (Exception ex) {}
这样可以吗?

#11


应该是客户连接被重置异常,有的时候客户强行中断连接导致的异常,但是这样的异常不至于一天让tomcat挂掉几次

还是再检查一下其他地方吧

#12


应该是客户连接被重置异常,有的时候客户强行中断连接导致的异常,但是这样的异常不至于一天让tomcat挂掉几次

还是再检查一下其他地方吧

#13


怎么解决呢?

#14


急啊 我也报着个错,我在进行solr查询的时候,很容易出现这种情况,让tomcat挂了,
到底怎么解决啊,

推荐阅读
author-avatar
F_hai丽
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有