MBean

MBean

Java Management Extensions (JMX) ist eine vom Java Community Process (JSR-3) entwickelte Spezifikation zur Verwaltung und Überwachung von Java-Anwendungen. Teile der JMX Spezifikation sind bereits in der Java 1.5 Standard-API integriert und wurde mit Java 1.6 stark erweitert. JMX ist nicht nur die geeignete Technologie, um das Verhalten von Systemen zu kontrollieren, sondern erleichtert auch die Kommunikation von unterschiedlichen Java-Programmen. In der ursprünglichen API unterstützte JMX nur die Kommunikation innerhalb einer JVM (Java Virtual Machine), aber seit der Java Version 6 wurde auch die Kommunikation mit anderen JVM unterstützt. Dies ist möglich durch die Unterstützung von Adaptern und Konnektoren. Damit lässt sich leicht ein HTTP-Adapter implementieren und die Anwendung ist über einen Webbrowser steuerbar. Sollte das System in ein schon bestehendes administriertes Netzwerk integriert werden, können Adapter für SNMP oder CIM/WBEM der Anwendung hinzugefügt werden.

Inhaltsverzeichnis

Infrastruktur

JMX ist in drei wesentliche Ebenen untergliedert.

JMX Ebenen
Name Beschreibung
Distributed Services Level Diese Ebene ist in der Spezifikation noch nicht definiert, ihre eigentliche Aufgabe ist es, Schnittstellen für die Kommunikation mit Komponenten des Agent Levels bereit zu stellen. (Dies kann z. B. ein Internet Browser oder ein eigens dafür geschriebener Client sein.)
Agent Level In dieser Ebene werden Agenten definiert, die für die Kommunikation mit den Ressourcen des Instrumentation Levels zuständig sind.
Instrumentation Level Auf dieser Ebene befinden sich Ressourcen (zu überwachende bzw. zu verwaltende Komponenten), die mit Hilfe von MBeans überwacht oder konfiguriert werden.

Im Instrumentation Level werden die sogenannten MBeans registriert. Diese Java-Objekte werden von den sogenannten Agents verwaltet. Über den Distributed Service Level kann direkt auf die MBeans zugegriffen werden. Die Sichtbarkeit wird in den MBeans definiert. Es stehen fertige HTTP-Adapter für JMX zur Verfügung, wodurch es möglich ist, direkt über einen Webbrowser Werte einer Java-Anwendung zu verändern.

JConsole

Ist ein GUI-Programm von Sun, das zur Verwaltung von MBeans verwendet werden kann. Es wird standardmäßig seit dem JDK 1.5 mitgeliefert.

JConsole in der Übersicht

Arten von MBeans

Zur Bewältigung der verschiedensten Aufgaben haben sich in den letzten Jahren verschiedene Arten von MBeans durchgesetzt.

  • Standard MBean
  • Dynamic MBean
  • Model MBean
  • Open MBean

Die Standard MBeans können durch die Definition von Interfaces, deren Namen mit "MBean" endet, gebildet werden.

Dynamic MBeans werden während der Laufzeit gebaut und können auch während der Laufzeit verändert werden. Derzeit können nur bei den dynamischen MBeans Attribute und Methoden beschrieben werden. Erst mit Hilfe von Annotations wird dies auch bei Standard MBeans möglich sein.

Die Model MBeans sind den dynamischen sehr ähnlich, besitzen aber zusätzlich eine "read" und "write"-Methode, mit der Werte in einer Datei oder in einer Datenbank gespeichert werden. Dabei können OnTimer-Funktionen zum Einsatz kommen, oder über den Notification-Handler kann ein Mitprotokollieren definiert werden. Ein weiterer Vorteil der Model MBeans ist, dass sie direkt im Agent erzeugt werden können.

Die Open MBeans haben nur die Standard-Javatypen zur Verfügung, mit dieser Eigenschaft haben sie aber bessere Möglichkeiten mit anderen Programmen außerhalb des Projektes zu kommunizieren.

Services von JMX

JMX stellt auch verschiedene Services zur Verfügung, die für die Handhabung und das Monitoring interessant sind.

  • M-Let Service
  • Timer Service
  • Monitor

Das M-Let Service bietet die Möglichkeit, während der Ausführungszeit Klassen nachzuladen. Über eine Versionskontrolle lässt sich dieser Prozess automatisieren, dabei wird der Bootstrap-class-loader verwendet.

Mit dem Timer Service lassen sich periodische Systembeobachtungen durchführen. Es werden nach vordefinierten Zeitabständen Notification geworfen, die von einem Listener abgefangen und bearbeitet werden können.

Mit der Monitor Klasse lassen sich einzelne Variablen (Observable) einer MBean beobachten, ohne dass ihre interne Struktur bekannt sein muss. Von diesem Monitor abgeleitet gibt es drei Arten.

  • Counter Monitor
  • Gauge Monitor
  • String Monitor

Der Counter Monitor eignet sich hauptsächlich für periodische Beobachtungen. Der Gauge Monitor kann das Einhalten von vordefinierten Grenzen überwachen und wirft beim Eintritt des Ereignisses eine Notification. Der String Monitor überwacht die Observablen, ob sie gleich bleiben oder ob sie sich verändern.

Implementierungen

Weblinks

Artikel

Literatur

  • J. Steven Perry: Java Management Extensions, O'Reilly, ISBN 0-596-00245-9
  • Marc Fleury, Juha Lindfors: JMX: Managing J2EE with Java Management Extensions, Sams Publishing, ISBN 0-672-32288-9
  • Jeff Hanson: Connecting JMX Clients and Servers: Understanding the Java Management Extensions, APress L. P., ISBN 1-59059-101-1
  • Benjamin G Sullins, Mark B Whipple : JMX in Action: You will also get your first JMX application up and running, Manning Publications Co. 2002, ISBN 1930110561

Wikimedia Foundation.

Игры ⚽ Нужно сделать НИР?

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Java Management Extensions — JMX Desarrollador Sun Microsystems Última versión 1.1 / 25 oct, 2005 sistema operativo Todos Género …   Wikipedia Español

  • Managed Bean — In the JMX API, a managed bean sometimes simply referred to as an MBean is a type of JavaBean, created with dependency injection. Managed Beans are particularly used in the Java Management Extensions technology.The MBean represents a resource… …   Wikipedia

  • Java Management Extensions — (JMX) is a Java technology that supplies tools for managing and monitoring applications, system objects, devices (e. g. printers) and service oriented networks. Those resources are represented by objects called MBeans (for Managed Bean). In… …   Wikipedia

  • JMX — Java Management Extensions (JMX) ist eine vom Java Community Process (JSR 3) entwickelte Spezifikation zur Verwaltung und Überwachung von Java Anwendungen. Teile der JMX Spezifikation sind bereits in der Java 1.5 Standard API integriert und wurde …   Deutsch Wikipedia

  • Java Management Extensions — (JMX) ist eine vom Java Community Process (JSR 3) entwickelte Spezifikation zur Verwaltung und Überwachung von Java Anwendungen. Teile der JMX Spezifikation sind bereits in der Java 1.5 Standard API integriert und wurde mit Java 6 stark erweitert …   Deutsch Wikipedia

  • MC4J — Infobox Software name = MC4J caption = developer = latest release version = 1.2.2 latest release date = release date|2008|05|09 latest preview version = latest preview date = operating system = Cross platform (JVM) programming language = Java… …   Wikipedia

  • Liste der Dateiendungen/S — In dieser Liste sind übliche Dateinamenserweiterungen aufgelistet, die in einigen Betriebssystemen (wie zum Beispiel Microsoft Windows) zur Unterscheidung von Dateiformaten verwendet werden. In anderen Betriebssystemen erfolgt die… …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”