Java.Net.SocketTimeoutException: Tomcat での読み取りタイムアウト

Muhammad Zeeshan 2023年6月20日
  1. java.net.SocketTimeoutException: 読み取りがタイムアウトしました
  2. java.net.SocketTimeoutException: Read timed out の原因
  3. java.net.SocketTimeoutException: Read timed out の解決策
Java.Net.SocketTimeoutException: Tomcat での読み取りタイムアウト

今日のチュートリアルでは、Java の Tomcat で発生する java.net.SocketTimeoutException: Read timed out の潜在的な理由と解決策について説明します。

java.net.SocketTimeoutException: 読み取りがタイムアウトしました

サーバーがリクエストからデータを読み取ろうとすると、java.net.SocketTimeoutException: Read timed outが発生します。 ただし、データがクライアントから到着するまでに、許可されている時間よりもはるかに長い時間がかかっています。 timeout オプションには、クライアントとサーバーのアクティビティ用に開発者のデフォルト値を事前設定することができます。

java.net.SocketTimeoutException: Read timed out の原因

以下は、java.net.SocketTimeoutException: Read timed out を引き起こす可能性のあるいくつかの潜在的な原因です。

  1. サーバーはリクエストからデータを読み取ろうとしています。 ただし、データがクライアントから到着するまでに、指定された時間を大幅に超えています。 このコンテキストでのタイムアウトは、多くの場合、Tomcat コネクタ -> connectionTimeout 属性で表されます。
  2. 多数の同時アクティビティがある場合、keepalive 機能がオンになっていると、このエラーが発生する可能性があります。
  3. タイムアウトになる前にデータが到着しない場合に発生します。
  4. サーバーのパフォーマンスが遅い場合。

java.net.SocketTimeoutException: Read timed out の解決策

  1. ワークステーション ブラウザの Tomcat サーバーへの接続を制御する .xml コンテキスト ファイルと CONNECTOR 定義の変更は、Tomcat Web のコンテキスト内でこの問題を解決するための 1つのアプローチです。 応用。

  2. より簡潔にするために、connectionTimeout プロパティの値を調整します。 この値を上げると、エラー状態が発生しなくなります。

  3. たとえば、以下のデータを含む次の .xml ファイルがあります。

    <Connector executor="tomcat"
    	port="8080" protocol="HTTP/1.1"
    	connectionTimeout="30000"
    	redirectPort="8443" />
    
  4. アップロードのタイムアウトを無効にし、読み書き接続のタイムアウト設定をキャンセルするには、disableUploadTimeout= "false" を追加します。

    <Connector executor="tomcat"
    	port="8080" protocol="HTTP/1.1"
    	connectionTimeout="30000" disableUploadTimeout="false"
    	redirectPort="8443" />
    
  5. keepAliveTimeout= "200000" パラメータを含めることで、接続の寿命を延ばすこともできます。

    <Connector executor="tomcat"
    	port="8080" protocol="HTTP/1.1"
    	connectionTimeout="30000"
    	keepAliveTimeout= "200000"
    	redirectPort="8443" />
    
Muhammad Zeeshan avatar Muhammad Zeeshan avatar

I have been working as a Flutter app developer for a year now. Firebase and SQLite have been crucial in the development of my android apps. I have experience with C#, Windows Form Based C#, C, Java, PHP on WampServer, and HTML/CSS on MYSQL, and I have authored articles on their theory and issue solving. I'm a senior in an undergraduate program for a bachelor's degree in Information Technology.

LinkedIn

関連記事 - Java Error