¿Qué grupo de conexiones estás usando? La mayoría permite que se ejecute periódicamente un comando de latido para evitar que las conexiones se queden inactivas.
EDITAR:Mirando la página de configuración de DBCP
, creo que debería establecer una validationQuery
apropiada (económica) . Entonces podría decirle a DBCP que pruebe esto cuando potencialmente desaloje conexiones inactivas (testWhileIdle
) o dígale que pruebe justo antes de devolver la conexión (testOnBorrow
). El primero (¡con suerte!) Mantendría vivas sus conexiones inactivas; el segundo no lo haría, pero no le devolvería las conexiones rotas (es decir, crearía una nueva si fuera necesario).