Überwachung für Commons DBCP?
Eine riesige Web-App in meinem Tomcat verwendet manchmal zu viele DBCP-Verbindungen, was zu Problemen führt.
Um dies zu untersuchen, möchte ich zu jedem Zeitpunkt genau wissen, welcher Thread / welche Methode eine Verbindung zum Pool hält. Muss nicht in Echtzeit erfolgen, die Post-Mortem-Analyse ist in Ordnung.
Ich habe vergeblich nach einem solchen DBCP-Überwachungstool gesucht, daher bin ich dabei, eines zu schreiben.
(Wenn es ein Interesse gibt, kann ich es Open Source machen)
Hier ist mein Plan:
ÄndernPoolingDataSource.getConnection protokollieren "DBCP+1 <thread-id>
"ÄndernDelegatingConnection.close protokollieren "DBCP-1 <thread-id>
"Schreiben Sie ein kleines Skript, um diese einfache CSV für die Visualisierung zu generieren:FRAGE:
Fehlt mir ein Commons-DBCP 1.4-Konzept, das die Idee ungültig macht?
Oder erfinde ich das Rad neu?