Jconsole: Fernverwaltung, Benachrichtigungen und Logging

Eventuell benutzt man bereits java.util.logging zu Loggingzwecken. Falls ja, dürfte man sich darüber freuen, dass dieses Paket in Java 1.5 als Standard-Mbean zur Verfügung steht. Man kann die Jconsole verwenden, um die Loggingstufen jeder Instanz eines Loggers zu erhöhen oder herabzusetzen. Der Beispielcode wurde um einige Logging-Nachrichten ergänzt. Nun führt man das Bespiel aus und stellt die Verbindung mit der Jconsole her. Dort wählt man die Registerkarte Mbeans, öffnet java.util.logging in der Mbeans-Baumansicht und wählt Logging. Wie man sieht, hat die Registerkarte Attributes ein Attribut: LoggerNames. Wenn man auf das Value-Feld klickt, sieht man alle Namen der konfigurierten Logs.


In dieser Liste sollte auch „watchme“ auftauchen. Wenn man auf die Registerkarte Operations klickt, sieht man die drei Methoden, die man aufrufen kann: getParentLoggerName, getLoggerLevel und setLoggerLevel.


Bei setLoggerLevel ist p0 der Name des Loggers und p1 eine Stringrepräsentation der gewünschten Stufe. Die Stufe ist ein String in Großbuchstaben oder eine Ganzzahl, wie sie von der Level.parse-Methode bearbeitet wird. Gibt man „watchme“ für p0 und „OFF“ für p1 ein und klickt auf den setLoggerLevel-Button, ist das Logging deaktiviert (was man mit einem Blick auf die Konsole erkennen kann). Die Eingabe von „ALL“ für p1 aktiviert alle Logging-Nachrichten.


Beim Schreiben dieses Beispiels stellte sich heraus, dass die Loggingstufe nicht für mehr Details über „INFO“ hinaus eingestellt werden konnte. Das liegt daran, dass das Logging-Mbean nur die Stufe der Logger-Instanz einstellt, nicht aber irgendwelche Handler, die mit dem Log verknüpft sind. Daher findet sich im WatchMeBean-Konstruktor der folgende Code:

Damit werden alle verknüpften ConsoleHandler angewiesen, alle Logging-Nachrichten anzuzeigen. Ohne diese Anweisung würde man Nachrichten der Stufen FINE, FINER, FINEST auf der Konsole nicht angezeigt bekommen.

Zusammenfassung

Jconsole ist zwar kein ausgewachsener JMX-Client, aber als Standardbestandteil des Entwicklerkits in J2SE 5.0 sollte sie immer zur Hand sein, falls man eine Anwendung vor Ort oder aus der Ferne verwalten oder eine JVM überwachen will. Die Jconsole ist aber beileibe nicht der einzige Client. MX4J ist eine Open-Source-JMX-Implementierung mit eigener Konsole, und man kann natürlich auch seine eigenen JMX-Clients für das Anwendungsmanagement implementieren (zum Beispiel zur Überwachung des Durchsatzes in einem Cluster von Backend-Servern). Jconsole ist aber ein guter Ausgangspunkt für die Fernverwaltung von Anwendungen.

Page: 1 2 3 4

ZDNet.de Redaktion

Recent Posts

Digitalisierung! Aber wie?

Mehr Digitalisierung wird von den Unternehmen gefordert. Für KMU ist die Umsetzung jedoch nicht trivial,…

1 Woche ago

Meta meldet Gewinnsprung im ersten Quartal

Der Nettoprofi wächst um 117 Prozent. Auch beim Umsatz erzielt die Facebook-Mutter ein deutliches Plus.…

1 Woche ago

Maximieren Sie Kundenzufriedenheit mit strategischem, kundenorientiertem Marketing

Vom Standpunkt eines Verbrauchers aus betrachtet, stellt sich die Frage: Wie relevant und persönlich sind…

1 Woche ago

Chatbot-Dienst checkt Nachrichteninhalte aus WhatsApp-Quellen

Scamio analysiert und bewertet die Gefahren und gibt Anwendern Ratschläge für den Umgang mit einer…

1 Woche ago

Microsoft stellt kleines KI-Modell Phi-3 Mini vor

Seine Trainingsdaten umfassen 3,8 Milliarden Parameter. Laut Microsoft bietet es eine ähnliche Leistung wie OpenAIs…

1 Woche ago

Google schließt kritische Sicherheitslücke in Chrome

Sie erlaubt eine Remotecodeausführung außerhalb der Sandbox. Betroffen sind Chrome für Windows, macOS und Linux.

1 Woche ago