Vi havde det samme problem i et produktionssystem med Tomcat6+Hibernate+MySQL (og Spring i vores tilfælde), og den eneste pålidelige løsning, vi fandt, var at indstille forbindelsestimeoutet til en stor værdi i MySQL-konfigurationen. Jeg kan ikke huske detaljerne, men jeg tror, der var et problem med den underliggende commons-pool kode, når den bekræfter, at den samlede ressource er gyldig.
En anden mulighed, som vi ikke prøvede, var at bruge en anden Connection Pooling-mekanisme end DBCP. Næste at prøve ville være C3PO