Comment déboguer / connecter les connexions de Tomcat JDBC Connection Pool?
Je suis en utilisant Tomcat pool de connexions JDBC avec Spring boot, JDBC modèle et SQL Server. J'ai besoin de savoir ce qui se passe à l'intérieur de la connexion de la piscine tandis que l'application est en attente de connexion de base de données. Comme....
- Pas de connexions actives
- Pas de connexions inactives
- Pas de connexions bloquées, pour plus d'infos, pourquoi cette connexion est bloquée
- Pas de connexions disponibles
- et ...
Est-il possible d'obtenir ces informations de débogage ou de l'utilisation de la journalisation des frameworks comme log4j?
Toute idée sera appréciée.
source d'informationauteur Sundararaj Govindasamy | 2016-04-13
Vous devez vous connecter pour publier un commentaire.
Après beaucoup de recherche, je suis en mesure de trouver 3 façons pour vous connecter & surveiller la connexion à la base de la piscine.
https://tomcat.apache.org/tomcat-8.0-doc/jdbc-pool.html
De surveillance à l'aide de Printemps de Démarrage propriétés.
De surveillance à l'aide de JMX ( Java Management Extensions ) (@nitin suggéré)
De surveillance à l'aide de Printemps Aspects.
1ère méthode: la Surveillance à l'aide de Printemps de Démarrage des propriétés.
Je l'ai trouvé en dessous de Printemps de démarrage des propriétés qui sera bien utile pour se connecter & surveiller la connexion à la base de la piscine.
Ces propriétés (et quelques autres encore) ont été pas documenté.
Veuillez consulter ci-dessous github question pour plus de détails.
https://github.com/spring-projects/spring-boot/issues/1829
Cette liste contient plusieurs propriétés qui sont liées à source de données uniquement.(prises à partir du lien ci-dessus)
2ème méthode: la Surveillance à l'aide de JMX ( Java Management Extensions )
Tomcat JDBC de la piscine offre un MBean à savoir ConnectionPoolMBean.
https://tomcat.apache.org/tomcat-7.0-doc/api/org/apache/tomcat/jdbc/pool/jmx/ConnectionPoolMBean.html
Printemps de Démarrage des registres de MBeans JMX automatiquement.Donc, pas besoin de s'enregistrer/exporter ce MBean dans MBean server. Il suffit d'ouvrir la JConsole qui vient avec le JDK, Pour l'ouvrir, Windows-> invite de Commande ->jconsole, c'est tout.
Consultez ci-dessous la capture d'écran pour plus d'info.
Ce MBean aussi informe chaque fois qu'une connexion est à l'abandon, échec de la connexion, lorsqu'une requête est de prendre le temps long, etc. Consultez la capture d'écran ci-dessous.
3ème Voie: la Surveillance à l'aide de Printemps Aspects (seulement pour le développement de l'assurance de la qualité et de l'environnement).
- Je utiliser cet aspect de journal TomcatJdbc Pool de Connexion.
J'ai créé un Printemps Aspect qui va intercepter toutes les bases de données d'appel.Ce sera certainement affecter les performances.
Ainsi, l'utilisation de cet aspect dans le développement du contrôle de la qualité de l'environnement,commenter cette méthode lorsqu'il n'est pas nécessaire (par exemple : cours de déploiement en production).
Maintenant, vous pouvez facilement identifier la base de données d'appel, qui crée la connexion fuite dans votre application.
Merci @Sundararaj Govindasamy pour la grande réponse. Basé sur cela, j'ai créé un composant de mon Ressort de Démarrage de l'Application à déboguer mon Pool de bases de données d'informations.