2009-05-08 28 views
15

Recibo el siguiente error frecuentemente al recuperar el objeto de archivo de la columna de la base de datos. ¿Como puedo resolver este problema?ClientAbortException: java.net.SocketException: restablecimiento de conexión por pares: error de escritura de socket

May 8, 2009 3:18:14 PM org.apache.catalina.core.StandardHostValve status 
    WARNING: Exception Processing ErrorPage[errorCode=404, location=/error.jsp] 
    ClientAbortException: java.net.SocketException: Connection reset by peer: socket write error 
    at org.apache.catalina.connector.OutputBuffer.doFlush(OutputBuffer.java:327) 
    at org.apache.catalina.connector.OutputBuffer.flush(OutputBuffer.java:293) 
    at org.apache.catalina.connector.Response.flushBuffer(Response.java:537) 
    at org.apache.catalina.core.StandardHostValve.status(StandardHostValve.java:286) 
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:136) 
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105) 
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107) 
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148) 
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869) 
    at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664) 
    at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)   
    at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80) 
    at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684) 
    at java.lang.Thread.run(Unknown Source) 

Caused by: java.net.SocketException: Connection reset by peer: socket write error 
    at java.net.SocketOutputStream.socketWrite0(Native Method) 
    at java.net.SocketOutputStream.socketWrite(Unknown Source) 
    at java.net.SocketOutputStream.write(Unknown Source) 
    at org.apache.coyote.http11.InternalOutputBuffer.realWriteBytes(InternalOutputBuffer.java:746) 
    at org.apache.tomcat.util.buf.ByteChunk.flushBuffer(ByteChunk.java:433) 
    at org.apache.coyote.http11.InternalOutputBuffer.flush(InternalOutputBuffer.java:304) 
    at org.apache.coyote.http11.Http11Processor.action(Http11Processor.java:991) 
    at org.apache.coyote.Response.action(Response.java:182) 
    at org.apache.catalina.connector.OutputBuffer.doFlush(OutputBuffer.java:322) 
    ... 13 more 
+1

¿De verdad ve un problema real, o simplemente recibe estos mensajes en su registro? –

+0

Esta pregunta es sobre una excepción para un servlet. Para una pregunta similar para un cliente, consulte http://stackoverflow.com/questions/34673336/httpclient-connection-reset-by-peer-socket-write-error – Raedwald

Respuesta

30

Cliente HTTP desconectado.

Esto podría tener un par de razones:

  • En respuesta a la solicitud tomó demasiado tiempo, el cliente renunció a
  • Usted respondió con algo que el cliente no entendía
  • El usuario final en realidad cancelado la solicitud
  • Se ha producido un error en la red
  • ... probablemente más

Puede emular bastante fácilmente el comportamiento:

URL url = new URL("http://example.com/path/to/the/file"); 

int numberOfBytesToRead = 200; 

byte[] buffer = new byte[numberOfBytesToRead]; 
int numberOfBytesRead = url.openStream().read(buffer); 
+6

IMO, el elemento más probable de su lista es "The end- el usuario canceló la solicitud ". Usuarios sangrientos, siempre causando problemas :-P – ashirley

7

Su registro indica ClientAbortException, que se produce cuando el cliente HTTP interrumpe la conexión con el servidor y esto ocurrió antes de servidor podría cerrar la conexión socket del servidor.

-2

Firewall de Windows podría causar esta excepción, tratan de desactivar o añadir una regla para el puerto o incluso programa (Java)

+0

Windows Firewall habría impedido la conexión por completo si ese fuera el problema. – EJP

+0

"prevenir" de una manera? Es obvio que obtendrás una excepción (en mi opinión, java.net.SocketException) cuando tu programa intente abrir la conexión, la pregunta es aquí cuál será el mensaje que verás ... De hecho, arreglé el que tiene "Restablecimiento de la conexión" por pares: error de escritura de socket "mediante la introducción de una nueva regla en un firewall de Windows. – Yura

+1

@Yura "Prevenir" como no permitir que el servidor acepte la conexión del cliente en primer lugar. – ThePyroEagle

0

Tengo este error en la página abierta de Google Cache.

Creo que, página en caché (cliente) desconectando en la página cargando.

Puede ignorar este registro de errores con try-catch en el filtro.

Cuestiones relacionadas