testWhileIdle
no es una propiedad c3p0. No duele nada, pero puede confundirte y hacerte pensar que estás haciendo algo que no estás haciendo. Estás probando conexiones inactivas, probablemente con demasiada frecuencia, ya que también estás probando conexiones al finalizar la compra.
Su configuración está distribuida en dos lugares. No estoy seguro de cómo interactuarán las configuraciones Spring e Hibernate. c3p0 DataSources dump config en INFO en pool init. Es posible que desee verificar que tiene la configuración que espera.
En cuanto a su problema, parece que tiene una fuga de conexión. Debe asegurarse de que cualquier conexión desprotegida de un origen de datos se cierre () de manera confiable en un método finalmente, o a través de probar con recursos en Java 7+.
Use los parámetros de configuración c3p0 unreturnedConnectionTimeout
y debugUnreturnedConnectionStackTraces
para depurar una fuga de conexión.
Consulte aquí .
(Nota:en hibernate.cfg serían hibernate.c3p0.unreturnedConnectionTimeout
y hibernate.c3p0.debugUnreturnedConnectionStackTraces
. O puede configurarlos más directamente en su Spring xml.)