Java.Net.SocketTimeoutException: Tiempo de espera de lectura agotado en Tomcat

Muhammad Zeeshan 20 junio 2023
  1. java.net.SocketTimeoutException: Lectura agotada
  2. Causas de java.net.SocketTimeoutException: Lectura agotada
  3. Solución a java.net.SocketTimeoutException: lectura agotada
Java.Net.SocketTimeoutException: Tiempo de espera de lectura agotado en Tomcat

El tutorial de hoy discutirá las posibles razones y soluciones para la excepción java.net.SocketTimeoutException: lectura agotada en Tomcat en Java.

java.net.SocketTimeoutException: Lectura agotada

java.net.SocketTimeoutException: Tiempo de espera de lectura agotado ocurre cuando el servidor intenta leer datos de la solicitud; sin embargo, los datos del cliente tardan mucho más tiempo del permitido. La opción tiempo de espera puede tener un valor predeterminado del desarrollador preestablecido para las actividades del cliente y del servidor.

Causas de java.net.SocketTimeoutException: Lectura agotada

Las siguientes son algunas causas potenciales que podrían resultar en “java.net.SocketTimeoutException: Lectura agotada”:

  1. El servidor está intentando leer datos de la solicitud; sin embargo, los datos del cliente tardan mucho más que el tiempo especificado en llegar. Tiempo de espera en este contexto a menudo se representa con el conector tomcat -> atributo connectionTimeout.
  2. Cuando hay mucha actividad simultánea, este error puede ocurrir si la función keepalive está activada.
  3. Ocurre si no llegan datos antes de que expire el tiempo de espera.
  4. Cuando el servidor tiene un rendimiento lento.

Solución a java.net.SocketTimeoutException: lectura agotada

  1. La modificación del archivo de contexto .xml y la definición CONECTOR, que controla la conectividad del navegador de la estación de trabajo con el servidor Tomcat, es un enfoque que podría adoptarse para resolver este problema dentro del contexto de la web de Tomcat. solicitud.

  2. Para ser más conciso, ajuste el valor de la propiedad connectionTimeout. Elevar este valor evitará que ocurra la condición de error.

  3. Por ejemplo, tenemos el siguiente archivo .xml que contiene los siguientes datos:

    <Connector executor="tomcat"
    	port="8080" protocol="HTTP/1.1"
    	connectionTimeout="30000"
    	redirectPort="8443" />
    
  4. Para deshabilitar el tiempo de espera de carga y cancelar la configuración de tiempo de espera de conexión de lectura y escritura, podemos agregar disableUploadTimeout= "false".

    <Connector executor="tomcat"
    	port="8080" protocol="HTTP/1.1"
    	connectionTimeout="30000" disableUploadTimeout="false"
    	redirectPort="8443" />
    
  5. También podemos aumentar la vida útil de la conexión incluyendo el parámetro 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

Artículo relacionado - Java Error