`
liss
  • 浏览: 844593 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

ClientAbortException原因探究

阅读更多

WEB是部署在TOMCAT5.5.17下面的,采用JNDI链接Oracle数据库,采用SPRING控制,把SWF和MP3等文件存在数据库中的BLOB字段,JSP中有预览功能,采用:

<OBJECT ID="MP1" width="100" height="80" type="application/x-oleobject" CLASSID="CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6">
        <PARAM NAME="url" VALUE="XXX">
        <PARAM NAME="AutoStart" VALUE="false">
        <param name="balance" value="0"> 
        <PARAM NAME="EnableContextMenu" VALUE="false">
        <PARAM NAME="rate" VALUE="1">
        <PARAM NAME="playCount" VALUE="1">
        <PARAM NAME="volume" VALUE="100">
        <PARAM NAME="uiMode" VALUE="full">
      </OBJECT>


进行预览,但是每次到这里TOMCAT都会报异常,如下:

引用
org.springframework.jdbc.LobRetrievalFailureException: Couldn't stream LOB content; nested exception is org.aptor.ClientAbortException: null
org.springframework.jdbc.LobRetrievalFailureException: Couldn't stream LOB content; nested exception is org.aptor.ClientAbortException: null
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)


等等,在下面还能看到这样的提示:
Caused by: java.net.SocketException: Connection reset by peer: socket write error

查了下TOMCAT的文档,解释如下:

引用
Wrap an IOException identifying it as being caused by an abort of a request by a remote client.



在BAIDU和GOOGLE上找了下原因,大概归结为:
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
很多人都说是客户端造成的,没有办法控制,是个比较郁闷的问题。

但是,我担心的是:虽然前台没有任何出错的迹象,但是后台会记录这个异常,日志也会疯狂爆满,时间长了,肯定会DOWN掉的,还没找到好的解决办法,若有相同经历,且优雅的解决掉的朋友,望告之,谢!

 

 

在某些时候客户端关浏览器,还没有输出完毕,就会出现这样的错误, 记得tomcat有一个好像叫ignoreClientDisconnect的参数, 设置成true就好了, googel一下了。

 

试试这个
http://mail-archives.apache.org/mod_mbox/tomcat-users/200406.mbox/%3C399E1F52E73BD41194A800D0B74A08AB03400B01@skipper.cincom.com%3E

 

resin有一个参数ignore-client-disconnect
tomcat似乎没有

分享到:
评论

相关推荐

    org.apache.catalina.connector.ClientAbortException和TOMCAT的日志配置

    问题1:TOMCAT下载文件出错:org.apache.catalina.connector.ClientAbortException. 问题2:TOMCAT记录接收数据大小、发送数据大小和请求处理时间

    java-poi-excel-导出20万条记录

    java-poi-excel-导出20万条记录

    POI的学习笔记

    ### POI学习笔记知识点解析 #### 一、POI简介 Apache POI是一个开源的Java API,用于处理Microsoft Office格式的文件,包括Excel (.xls, .xlsx), PowerPoint (.ppt, .pptx) 和 Word (.doc, .docx)。...

    struts下载

    - **ClientAbortException**:当客户端中断连接时可能会抛出`ClientAbortException`。这通常是由于网络问题或客户端操作导致的。 #### 4. 其他注意事项 - 在实际开发中,建议使用Apache Commons IO库中的`IOUtils....

    struts2-sunspoter-stream-1.0.jar

    在我们做struts2文件下载的时候,经常会遇到这种问题:点“打开/保存”一切正常,但当我们点击“取消”时,却报一堆的异常(其中包括ClientAbortException异常),附件中使用struts2-sunspoter-stream-1.0.jar插件可...

    springmvc提供视频播放功能时,手机端无法正常播放的解决办法

    3. **错误信息**:后台抛出`ClientAbortException`异常,提示为`IOException:null`。 4. **特殊行为**:手机默认浏览器在请求视频时,会同时向后台发送两个请求。 针对这些问题,我们首先排除了一些常见的原因,...

    Struts2下载文件点击取消出现的异常解决办法(含demo)

    在我们做struts2文件下载的时候,经常会遇到这种问题:点“打开/保存”一切正常,但当我们点击“取消”时,却报一堆的异常(其中包括ClientAbortException异常),非常让人头疼,如何彻底解决呢?附件中使用struts2-...

    解决struts2下载异常的jar包 struts2-sunspoter-stream-1.0.jar

    也就是说,如果抛出了ClientAbortException异常,那就跳转到“ignored.jsp”这个页面,这个页面中什么内容都没有。 还有一种办法是在页面进行try..catch,之后什么都不做 异常原因分析: stream对应的类是...

    笔记笔记笔记

    - `ClientAbortException`:客户端中断异常,通常发生在HTTP连接被客户端提前关闭时。 - `NullPointerException`:空指针异常,尝试访问或调用一个对象的方法而该对象为空。 - `ClassCastException`:类型转换...

Global site tag (gtag.js) - Google Analytics