que estoy recibiendo las excepciones de conexión rancio MySQL JDBC temidas:conexiones rancio, validationQuery no soluciona
Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: No operations allowed after connection closed.
Caused by: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: The last packet successfully received from the server was 243,263,541 milliseconds ago. The last packet sent successfully to the server was 243,263,541 milliseconds ago. 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.
Parece que todos están de acuerdo que este se fija mediante el uso de validationQuery + testOnBorrow, pero esto no es resolver el problema .
Estoy utilizando el siguiente software MySQL 5.1.41-3ubuntu12.10 Connector/J 5.1.18 Tomcat 6.0.24
aquí es cómo la conexión se define en server.xml, estamos utilizando el tomcat-dbcp para agrupar las conexiones.
<Resource
auth="Container"
driverClassName="com.mysql.jdbc.Driver"
factory="org.apache.commons.dbcp.BasicDataSourceFactory"
logAbandoned="true"
maxActive="75"
maxIdle="20"
maxWait="10000"
name="jdbc/jndiname"
password="password"
removeAbandoned="true"
removeAbandonedTimeout="60"
validationQuery="/* ping */SELECT 1"
testOnBorrow="true"
testOnReturn="true"
timeBetweenEvictionRunsMillis="10000"
testWhileIdle="true"
scope="Shareable"
type="javax.sql.DataSource"
url="jdbc:mysql://host:3306/schema"
username="username" />
¿En qué situación está obteniendo esas excepciones de conexión obsoleta? ¿Estás enviando una consulta en vivo, y ese es el resultado? ¿Usted acaba de crear la conexión JDBC como lo hizo con la consulta, o los está agarrando de un grupo de conexiones? – technocrat
Las excepciones de conexión ocurren todas las mañanas cuando un usuario se conecta a nuestra aplicación web por primera vez. Las conexiones provienen del conjunto Tomcat-DBCP. Podemos solucionar el problema reiniciando Tomcat todos los días, pero eso solo está ocultando el verdadero problema. – user763648
Cuando reinicia Tomcat, todo lo que hace es hacer que la agrupación de conexiones vuelva a establecerse por sí misma. ¿Crees que la solución a esto será la configuración de tomcat, la configuración de mysql o un cambio de código de grupo de tomcat-dbcp? Solo para saber en qué dirección buscar respuestas. – technocrat