2009-05-08 13 views
15

Je reçois fréquemment l'erreur suivante lors de la récupération de l'objet fichier de la colonne de la base de données. Comment puis-je résoudre ce problème?ClientAbortException: java.net.SocketException: connexion réinitialisée par le pair: erreur d'écriture du 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

Voyez-vous réellement un problème réel, ou recevez-vous simplement ces messages dans votre journalisation? –

+0

Cette question concerne une exception pour une servlet. Pour une question similaire pour un client, voir http://stackoverflow.com/questions/34673336/httpclient-connection-reset-by-peer-socket-write-error – Raedwald

Répondre

30

Votre client HTTP est déconnecté.

Cela pourrait avoir deux raisons:

  • En réponse à la demande a pris trop de temps, le client a renoncé à
  • Vous avez répondu avec quelque chose que le client ne comprenait pas
  • L'utilisateur final fait annulé la demande
  • Une erreur de réseau est survenue
  • ... probablement plus

Vous pouvez imiter assez facilement 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); 
+6

OMI, l'élément le plus probable de votre liste est "La fin l'utilisateur a effectivement annulé la demande ". Utilisateurs sanglants, causant toujours des problèmes: -P – ashirley

7

Votre journal indique ClientAbortException, qui se produit lorsque votre client HTTP abandonne la connexion avec le serveur, ce qui est arrivé avant que le serveur pourrait fermer la prise de connexion au serveur.

-2

Pare-feu Windows pourrait provoquer cette exception, essayez de le désactiver ou ajouter une règle pour le port ou même programme (java)

+0

Windows Firewall aurait empêché la connexion complètement si c'était le problème. – EJP

+0

"empêcher" de quelle manière? Il est évident que vous obtiendrez une exception (à mon avis java.net.SocketException) lorsque votre programme essaiera d'ouvrir une connexion, la question est ici quel sera le message que vous verrez ... En fait j'ai corrigé celui avec "Connexion reset" par des pairs: socket write error "en introduisant une nouvelle règle dans un pare-feu Windows. – Yura

+1

@Yura "Empêche" de ne pas laisser le serveur accepter la connexion du client en premier lieu. – ThePyroEagle

0

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

Je pense, la page mise en cache (client) en déconnectant lors du chargement de la page.

Vous pouvez ignorer ce journal des erreurs avec try-catch sur le filtre.