Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Problema de tempo limite de conexão do MySQL - aplicativo Grails no Tomcat usando Hibernate e ORM


Referindo-se a este artigo , você tem conexões obsoletas em seu conjunto de conexões DBCP que são eliminadas silenciosamente pelo SO ou firewall.

A solução é definir uma consulta de validação e fazer uma verificação de integridade da conexão antes de realmente usá-la em seu aplicativo. No grails, isso é feito modificando o grails-app/conf/spring/Resource.groovy arquivo e adicione o seguinte:
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"
  }
}