Ocasionalmente, mi aplicación Java/Tomcat6/Debian Squeeze no puede comunicarse con el servidor MySql. La aplicación Tomcat está en un servidor de aplicaciones para el usuario y MySql está en un cuadro separado, MySql-only. Un error típico es:Tiempo de espera de MySql JDBC incluso con 'autoReconnect = true'
com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: The last packet successfully received from the server was56588 milliseconds ago.
The last packet sent successfully to the server was 56588 milliseconds ago, which
is longer than the server configured value of 'wait_timeout'. You should consider either expiring and/or testing connection validity before use in your application, increasing the
server configured values for client timeouts, or using the Connector/J connection property
'autoReconnect=true' to avoid this problem.
El tiempo de espera dado es de tan solo 60 segundos, lo que parece muy corto. Si fue una hora o más, simplemente configuré una tarea en segundo plano para hacer ping al servidor DB cada pocos minutos. Agregué el parámetro autoReconnect a la URL de apertura, sin impacto obvio.
¿Alguna idea de cuál es el problema aquí? Gracias Pat
ver este post http://stackoverflow.com/q/667289/778687 – tusar
@tusar, gracias por el enlace. Explica por qué tengo mucho código para escribir. Es interesante que están desaprobando la reconexión automática. – fishtoprecords
¿en qué se establece wait_timeout en el servidor? –