Ich brauche einen Einblick in die Überwachung des Verbindungspools in meiner Webanwendung.
Die technischen Spezifikationen für die Anwendung sind nachfolgend aufgeführt:
Ich muss wissen, was die verschiedenen Arten sind, den Verbindungspool zu überwachen und wie wir das tun können. Ob durch Hibernate oder durch JBoss oder auf andere Weise? Bitte schlage mir den richtigen Weg vor.
Dies ist möglicherweise nicht das, was Sie wollen. Aber was nennst du eigentlich für den Pool? Wenn Sie sich nicht entschieden haben, schauen Sie sich C3PO an, es bietet JMX exponierte Attribute für die Überwachung
Bei einer typischen serverseitigen Java-Anwendung ist eine der am meisten bevorzugten Arten der Überwachung die JMX . Die meisten Anwendungen (einschließlich Verbindungspools) bieten eine standardmäßige JMX-Bean (MBeans oder Managed Beans genannt), die für die Überwachung verwendet werden kann. Ein Verbindungspool (z. B. C3P0) erstellt eine MBean bindet sie mit dem zugrunde liegenden verfügbaren JMX-Server (der in fast allen Anwendungsservern einschließlich Tomcat, JBoss vorhanden ist)
Diese MBean enthält alle Informationen zum Verbindungspool. Sie haben erwähnt, dass Sie den JBoss-Server verwenden. In der von Jboss angebotenen Web-Admin-Konsole sollte eine Bereitstellung sein, um alle MBeans (einschließlich der MBean des bereitgestellten Verbindungspools) anzuzeigen.
Eine andere Möglichkeit zur Überwachung ist das JConsole Dienstprogramm, das kommt mit Java. Die gleiche JConsole kann auch für JBoss verwendet werden.
FlexyPool ist ein Datenquellen-Proxy, der eine bessere Überwachung und Failover für fast alle bekannten Verbindungspools bietet:
Damit können Sie die folgenden Metriken überwachen:
Auf diese Weise können Sie die Poolgröße so anpassen, dass sie so viele Anwendungsknoten wie möglich aufnehmen kann, während Sie vor einigen geschützt sind unerwartete Verkehrsspitzen .
Ich habe festgestellt, dass bei Verwendung von JConsole , wie in anderen Antworten vorgeschlagen, eine Verbindung zu JBoss (5.2) über JMX hergestellt wurde, die MBeans für das Verbindungs-Pooling nicht sichtbar waren.
Stattdessen habe ich die eingebaute JMXConsole verwendet, die normalerweise verfügbar ist unter: Ссылка - Sie müssen möglicherweise den Hostnamen und den Port für Ihre Bereitstellung ändern.
Wenn dies läuft, sehen Sie eine Eingabeaufforderung für Benutzername und Passwort.
Der Standard-Benutzername / das Standard-Passwort lautet: admin / admin
Ich fand das erste Mal, dass ich das versuchte, nichts passierte, ich musste die Datei aktualisieren: server / default / conf / props / jmx-console-users.properties und die zweite Zeile auskommentieren:
Sobald dies erledigt war, konnte ich mich einloggen. An dieser Stelle im Filter ObjectName habe ich Folgendes eingegeben: jboss.jca: * Ich habe dann beispielsweise den entsprechenden Verbindungspool-Link ausgewählt: name = DefaultDS, service = ManagedConnectionPool zeigt alle Informationen zum Verbindungspool, z AvailableConnectionCount, InUseConnectionCount etc.
Tags und Links java hibernate monitoring jboss connection-pooling