Ok, valutando tutti i parametri del pool di connessioni sembra validationQueryTimeOut stava causando tutto questo problema. Dopo aver rimosso quel parametro tutto è normale. Ora le mie proprietà di pool di connessioni funzionanti sono così
properties {
initialSize=5
maxActive=50
minIdle=5
maxIdle=25
maxWait = 10000
maxAge = 10 * 60000
timeBetweenEvictionRunsMillis=5000
minEvictableIdleTimeMillis=60000
validationQuery="SELECT 1"
validationInterval=15000
testWhileIdle=true
testOnBorrow=true
testOnReturn=false
jdbcInterceptors = "ConnectionState"
defaultTransactionIsolation = java.sql.Connection.TRANSACTION_READ_COMMITTED
}