Tengo una instalación de instancia de tomcat pero la conexión de base de datos que he configurado en context.xml sigue muriendo después de períodos de inactividad.Java + Tomcat, ¿conexión de base de datos moribunda?
Cuando compruebo los registros me sale el siguiente error:
com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: El último paquete recibido correctamente desde el servidor hace was68051 segundos . El último paquete enviado correctamente al servidor fue hace 68051 segundos , que es más largo que el valor configurado en el servidor de 'wait_timeout'. Debe considerar caducar y/o probar la validez de la conexión antes de usarla en su aplicación, aumentar los valores configurados del servidor para tiempos de espera del cliente o usar la propiedad de conexión Connector/J 'autoReconnect = true' para evitar este problema.
Aquí es la configuración en context.xml:
<Resource name="dataSourceName"
auth="Container"
type="javax.sql.DataSource"
maxActive="100"
maxIdle="30"
maxWait="10000"
username="username"
password="********"
removeAbandoned = "true"
logAbandoned = "true"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://127.0.0.1:3306/databasename?autoReconnect=true&useEncoding=true&characterEncoding=UTF-8" />
estoy usando autoReconnect = tura como el error dice que hacer, pero la conexión mantiene morir. Nunca antes había visto esto suceder.
También he verificado que todas las conexiones a la base de datos se cierran correctamente.
Agradable. Establecí los parámetros en context.xml, y voy a dejarlo reposar durante 24 horas. Si no funciona, no aceptaré la respuesta. ¡Pero parece prometedor! ¡Gracias! –