sql >> Base de Datos >  >> RDS >> Oracle

java.sql.SQLException:excepción de Io:tubería rota, ¿cómo recuperar sin reiniciar?

Las siguientes podrían ser las posibilidades que podrían estar causando la excepción:

  1. Problema de red:esa es la red entre la base de datos y el servidor de aplicaciones que hace que la conexión física se corte después de un período de tiempo. Probablemente se deba a un firewall que se ejecuta detrás de la red que está configurado para eliminar las conexiones de db después de un período de tiempo específico. Puede considerar una solución para mantener la conexión viva todo el tiempo simplemente reconfigurando su servidor de aplicaciones. Para Tomcat, puede intentar agregar validationQuery="select 'validationQuery' from dua l en el archivo de configuración del origen de datos de Tomcat (context.xml)

  2. Las conexiones con el servidor de la base de datos se están restableciendo y el controlador de la base de datos no notifica al cliente. El problema en este caso es que el controlador de Oracle está descubriendo que su conexión al DBMS de alguna manera (¿firewall de nuevo, tal vez?) ha sido cerrada por el otro extremo. Puede considerar configurar el tiempo de espera de su conexión (en el grupo) más corto que el tiempo de espera del servidor de red/base de datos como solución.