sql >> Base de Datos >  >> RDS >> Mysql

Problema de tiempo de espera de conexión MySQL - Aplicación Grails en Tomcat usando Hibernate y ORM

Haciendo referencia a este artículo , tiene conexiones obsoletas en su conjunto de conexiones DBCP que el sistema operativo o el firewall eliminan silenciosamente.

La solución es definir una consulta de validación y hacer una verificación de cordura de la conexión antes de usarla en su aplicación. En Grails, esto se hace modificando grails-app/conf/spring/Resource.groovy archivo y agregue lo siguiente:

beans = {
  dataSource(BasicDataSource) {
    //run the evictor every 30 minutes and evict any connections older than 30 minutes.
    minEvictableIdleTimeMillis=1800000
    timeBetweenEvictionRunsMillis=1800000
    numTestsPerEvictionRun=3
    //test the connection while its idle, before borrow and return it
    testOnBorrow=true
    testWhileIdle=true
    testOnReturn=true
    validationQuery="SELECT 1"
  }
}