Canalización rota al escribir bytes en ServletOutputStream

Mientras se ejecuta este código,

ServletOutputStream out = response.getOutputStream();
out.write(bytes, 0, bytes.length);
out.flush();  
out.close();  

Recibo esta excepción con frecuencia y no puedo entender por qué está sucediendo.

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)

Tengo una aplicación web que se ejecuta en un servidor Linux, bajo JBoss 4.2.3 y MySQL.

¿Cómo se produce esto y cómo puedo solucionarlo?

Respuestas a la pregunta(2)

Su respuesta a la pregunta