HOWTO · Java
Java.Net.SocketTimeoutException: Zeitüberschreitung beim Lesen unter Tomcat
Im heutigen Tutorial werden mögliche Gründe und Lösungen für die java.net.SocketTimeoutException diskutiert: Read timed out under Tomcat in Java.
Auf dieser Seite
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:
- 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.
Timeoutwird in diesem Zusammenhang oft durch dasAttribut Tomcat Connector -> connectionTimeoutrepräsentiert. - Bei vielen gleichzeitigen Aktivitäten kann dieser Fehler auftreten, wenn die
keepalive-Funktion aktiviert ist. - Es tritt auf, wenn keine Daten ankommen, bevor das Zeitlimit abgelaufen ist.
- Wenn der Server eine langsame Leistung hat.
Lösung für java.net.SocketTimeoutException: Read timed out
-
Die Änderung der
.xml-Kontextdatei und derCONNECTOR-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. -
Um es prägnanter zu machen, passen Sie den Wert der Eigenschaft
connectionTimeoutan. Durch Erhöhen dieses Werts wird verhindert, dass die Fehlerbedingung auftritt. -
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" /> -
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" /> -
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" />