web-dev-qa-db-ja.com

ClientAbortException:Java.net.SocketException:ピアによる接続のリセット:ソケット書き込みエラー

データベース列からファイルオブジェクトを取得しているときに、次のエラーが頻繁に発生します。この問題を解決するにはどうすればよいですか?

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

HTTPクライアントが切断されました。

これにはいくつかの理由が考えられます。

  • リクエストへの応答に時間がかかりすぎたため、クライアントはあきらめました
  • クライアントが理解しなかった何かで応答しました
  • エンドユーザーが実際にリクエストをキャンセルした
  • ネットワークエラーが発生しました
  • ...おそらくもっと

動作をかなり簡単にエミュレートできます。

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

ログにはClientAbortExceptionが示されます。これは、HTTPクライアントがサーバーとの接続をドロップしたときに発生し、サーバーがサーバーソケット接続を閉じる前に発生しました。

8
Badal

Google Cacheから開いているページでこのエラーが発生しました。

ページの読み込み時にキャッシュされたpage(client)disconnectingと思います。

このエラーログは、フィルターでtry-catchを使用して無視できます

0
kfatih