it-swarm.com.de

ClientAbortException: Java.net.SocketException: Verbindung wurde von Peer zurückgesetzt: Socket-Schreibfehler

Beim Abrufen des Dateiobjekts aus der Datenbankspalte wird häufig der folgende Fehler angezeigt. Wie kann ich dieses Problem lösen?

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
16
jothinst

Ihr HTTP-Client ist nicht verbunden.

Dies kann mehrere Gründe haben:

  • Die Beantwortung der Anfrage dauerte zu lange und der Kunde gab auf
  • Sie haben mit etwas geantwortet, das der Kunde nicht verstanden hat
  • Der Endbenutzer hat die Anfrage tatsächlich abgebrochen
  • Ein Netzwerkfehler ist aufgetreten
  • ... wahrscheinlich mehr

Sie können das Verhalten ziemlich leicht emulieren:

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);
32
alamar

Ihr Protokoll gibt ClientAbortException an. Dies ist der Fall, wenn Ihr HTTP-Client die Verbindung zum Server beendet und dies geschieht, bevor der Server die Server-Socket-Verbindung schließen kann.

8
Badal

Ich habe diesen Fehler auf der geöffneten Seite von Google Cache erhalten.

Ich denke, zwischengespeicherte Seite (Client) Trennen der Verbindung beim Laden der Seite.

Sie können es ignorieren dieses Fehlerprotokoll mit try-catch-Filter.

0
kfatih