Ich verwende Tomcat 8.0.29 und verwende den von Tomcat bereitgestellten JDBC-Pool, der mit der JNDI-Ressource initialisiert wurde. Ich verbinde mich mit einer Postgres-Datenbank und verwende den JDBC-Treiber, der mit 9.4 veröffentlicht wurde. Alles funktioniert gut und ich bin in der Lage, Abfragen zu verbinden und auszuführen.Tomcat JDBC-Pool-Messwerte
Ich möchte Metriken über den Verbindungspool aus meinem Java-Programm sammeln. Zum Beispiel würde ich gerne wissen, wie viele inaktive Verbindungen ich derzeit habe und/oder wie viele Verbindungen aus dem Pool verwendet werden. Ich habe versucht, den Protokollierungsgrad zu erhöhen, und das hat mir keine dieser Pool-Metriken gegeben. Ich habe versucht, JMX zu betrachten, und ich sehe keine MBeans, die diese Informationen haben. Ich habe einige andere Posts gesehen, die behaupteten, dass ich MBeans verwenden könnte, aber die Version, die ich ausführe, hat diese MBeans nicht.
Ich habe ziemlich viel gesucht und kann keine Antwort auf diese einfache Frage finden. Ich möchte im Grunde nur Daten protokollieren oder abfragen, die sich auf den JDBC-Pool innerhalb von Tomcat beziehen.
Ich habe gerade versucht, dies in 8. Es gibt keine org.apache.tomcat.dbcp.dbcp.BasicDataSource, aber es gibt einen Paketnamen zu org.apache.tomcat.dbcp.dbcp2.BasicDataSource. Ich habe das stattdessen verwendet und alles ordnungsgemäß kompiliert, jedoch habe ich zur Laufzeit den folgenden Fehler erhalten: "SEVERE: org.apache.tomcat.jdbc.pool.DataSource kann nicht in org.apache.tomcat.dbcp.dbcp2.BasicDataSource umgewandelt werden". Ich habe etwas anderes gemacht, aber es war mehr involviert. Ich werde meine Frage aktualisieren. – user1442883