web-dev-qa-db-fra.com

ClientAbortException: Java.net.SocketException: connexion réinitialisée par un homologue: erreur d'écriture de socket

Je reçois fréquemment l'erreur suivante lors de la récupération d'un objet de fichier dans la colonne de base de données. Comment puis-je résoudre ce problème?

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

Votre client HTTP déconnecté.

Cela pourrait avoir plusieurs raisons:

  • Répondre à la demande a pris trop de temps, le client a abandonné
  • Vous avez répondu avec quelque chose que le client n'a pas compris
  • L'utilisateur final a effectivement annulé la demande
  • Une erreur de réseau s'est produite
  • ... probablement plus

Vous pouvez assez facilement imiter le comportement:

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

Votre journal indique une exception ClientAbortException, qui se produit lorsque votre client HTTP interrompt la connexion avec le serveur et que cela se produisait avant que le serveur ne puisse fermer la connexion socket du serveur.

8
Badal

J'ai eu cette erreur sur la page ouverte de Google Cache .

Je pense, page en cache (client) déconnecter au chargement de la page.

Vous pouvez ignorer ce journal d'erreurs avec try-catch on filter.

0
kfatih