Vi hade några liknande problem med en av våra applikationer och efter mycket grävande la vi till följande egenskaper som löste alla våra anslutningsproblem:
maxAge="180000"
testOnBorrow="true"
testWhileIdle="true"
validationInterval="0" //forces the connection pool to validate each time a connection is given to the application