Ok oceniając wszystkie parametry puli połączeń, wydaje się, że validationQueryTimeOut powodował cały ten problem. Po usunięciu tego param wszystko jest w porządku. Teraz moje działające właściwości puli połączeń wyglądają tak
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
}