【发布时间】:2012-08-25 18:20:53
【问题描述】:
在执行这段代码时,
ServletOutputStream out = response.getOutputStream();
out.write(bytes, 0, bytes.length);
out.flush();
out.close();
我经常遇到这个异常,我不知道为什么会发生。
Caused by: ClientAbortException: java.net.SocketException: Broken pipe
at org.apache.catalina.connector.OutputBuffer.realWriteBytes(OutputBuffer.java:358)
at org.apache.tomcat.util.buf.ByteChunk.append(ByteChunk.java:354)
at org.apache.catalina.connector.OutputBuffer.writeBytes(OutputBuffer.java:381)
at org.apache.catalina.connector.OutputBuffer.write(OutputBuffer.java:370)
at org.apache.catalina.connector.CoyoteOutputStream.write(CoyoteOutputStream.java:89)
我有一个在 JBoss 4.2.3 和 MySQL 下的 linux 服务器上运行的 Web 应用程序。
这是怎么引起的,我该如何解决?
【问题讨论】:
-
这意味着您的servlet的客户端由于某种原因挂断了连接。
-
这是什么原因?例如,这是一个文件下载操作。
-
对,可能正在下载文件的浏览器中途崩溃了。或者他们的互联网连接中断了。或者无论如何,接收器无法接受您正在写入的字节。
-
BalusC,感谢您的回复。我
ll try ignoring the exception since I cant 控制它。