Se référant à cet article , vous avez des connexions obsolètes dans votre pool de connexions DBCP qui sont silencieusement supprimées par le système d'exploitation ou le pare-feu.
La solution consiste à définir une requête de validation et à vérifier l'intégrité de la connexion avant de l'utiliser réellement dans votre application. Dans grails, cela se fait en fait en modifiant le grails-app/conf/spring/Resource.groovy fichier et ajoutez ce qui suit :
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"
}
}