While executing this code,
ServletOutputStream out = response.getOutputStream();
out.write(bytes, 0, bytes.length);
out.flush();
out.close();
I'm getting this exception frequently and I can't figure out why it's happening.
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)
I have a web app running in a linux server, under JBoss 4.2.3 and MySQL.
How is this caused and how can I solve it?
Typically this is due to the client disconnecting. There are several reasons the client may have disconnected (timed out, browser was closed, etc). Also, as general practice, if you didn't open the stream then don't close. More on closing the stream here Should I close the servlet outputstream?.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With