Una gran aplicación web en mi Tomcat a veces comienza a usar demasiadas conexiones DBCP, lo que genera problemas.
Para investigar, quiero saber con precisión en cada punto del tiempo qué subproceso/método mantiene una conexión del grupo. No necesita ser en tiempo real, el análisis post-mortem está bien.Monitoreo para Commons DBCP?
He estado buscando una herramienta de monitoreo de DBCP, en vano, así que estoy a punto de escribir la mía.
(si hay algún interés que puede hacer que sea de código abierto)
Aquí es mi plan:
- Modificar PoolingDataSource.getConnection para iniciar la sesión "
DBCP+1 <thread-id>
" - Modificar DelegatingConnection.close para iniciar la sesión "
DBCP-1 <thread-id>
" - Escribir un pequeño script para generar este CSV simple para la visualización:
PREGUNTA:
Me estoy perdiendo algo de 1,4-concepto Commons DBCP que hace que la idea no es válida?
¿O estoy reinventando la rueda?