Java.Net.SocketTimeoutException: Zeitüberschreitung beim Lesen unter Tomcat

Muhammad Zeeshan 20 Juni 2023
  1. java.net.SocketTimeoutException: Zeitüberschreitung beim Lesen
  2. Ursachen für java.net.SocketTimeoutException: Zeitüberschreitung beim Lesen
  3. Lösung für java.net.SocketTimeoutException: Read timed out
Java.Net.SocketTimeoutException: Zeitüberschreitung beim Lesen unter Tomcat

Das heutige Tutorial diskutiert mögliche Gründe und Lösungen für die java.net.SocketTimeoutException: Read timed out unter Tomcat in Java.

java.net.SocketTimeoutException: Zeitüberschreitung beim Lesen

java.net.SocketTimeoutException: Read timed out tritt auf, wenn der Server versucht, Daten aus der Anfrage zu lesen; Es dauert jedoch viel länger als die zulässige Zeitspanne, bis die Daten vom Client eintreffen. Die Option timeout kann einen Standardwert eines Entwicklers für Client- und Serveraktivitäten voreingestellt haben.

Ursachen für java.net.SocketTimeoutException: Zeitüberschreitung beim Lesen

Im Folgenden sind einige mögliche Ursachen aufgeführt, die zu java.net.SocketTimeoutException: Read timed out führen können:

  1. Der Server versucht, Daten aus der Anfrage zu lesen; Es dauert jedoch deutlich länger als die angegebene Zeit, bis die Daten vom Client eintreffen. Timeout wird in diesem Zusammenhang oft durch das Attribut Tomcat Connector -> connectionTimeout repräsentiert.
  2. Bei vielen gleichzeitigen Aktivitäten kann dieser Fehler auftreten, wenn die keepalive-Funktion aktiviert ist.
  3. Es tritt auf, wenn keine Daten ankommen, bevor das Zeitlimit abgelaufen ist.
  4. Wenn der Server eine langsame Leistung hat.

Lösung für java.net.SocketTimeoutException: Read timed out

  1. Die Änderung der .xml-Kontextdatei und der CONNECTOR-Definition, die die Konnektivität des Workstation-Browsers mit dem Tomcat-Server steuert, ist ein möglicher Ansatz, um dieses Problem im Kontext des Tomcat-Webs zu lösen Anwendung.

  2. Um es prägnanter zu machen, passen Sie den Wert der Eigenschaft connectionTimeout an. Durch Erhöhen dieses Werts wird verhindert, dass die Fehlerbedingung auftritt.

  3. Zum Beispiel haben wir die folgende .xml-Datei, die die folgenden Daten enthält:

    <Connector executor="tomcat"
    	port="8080" protocol="HTTP/1.1"
    	connectionTimeout="30000"
    	redirectPort="8443" />
    
  4. Um das Upload-Timeout zu deaktivieren und die Einstellung für das Timeout der Lese-/Schreibverbindung aufzuheben, können wir disableUploadTimeout= "false" hinzufügen.

    <Connector executor="tomcat"
    	port="8080" protocol="HTTP/1.1"
    	connectionTimeout="30000" disableUploadTimeout="false"
    	redirectPort="8443" />
    
  5. Wir können die Verbindungslebensdauer auch erhöhen, indem wir den Parameter keepAliveTimeout= "200000" hinzufügen.

    <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

Verwandter Artikel - Java Error