Bezugnehmend auf diesen Artikel , haben Sie veraltete Verbindungen in Ihrem DBCP-Verbindungspool, die stillschweigend vom Betriebssystem oder der Firewall gelöscht werden.
Die Lösung besteht darin, eine Validierungsabfrage zu definieren und eine Plausibilitätsprüfung der Verbindung durchzuführen, bevor Sie sie tatsächlich in Ihrer Anwendung verwenden. In Grails geschieht dies tatsächlich durch Ändern der grails-app/conf/spring/Resource.groovy Datei und fügen Sie Folgendes hinzu:
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"
}
}