Verwaltungsprogramme für mehrere Java EE-Anwendungsserver

Sie können einen Verwaltungsclient entwickeln, um mehrere Anwendungsserver anderer Anbieter über vorhandene MBean-Unterstützung im WebSphere Application Server zu verwalten.

Vorhandensein von MBeans für gestoppte Komponenten

Bewährte Verfahren: WebSphere Application Server implementiert die Verwaltungsspezifikation Java™ Platform, Enterprise Edition (Java EE). Es ist jedoch wichtig, dass Sie einige Unterschiede kennen, die zwischen der Spezifikation Java EE und der Implementierung von WebSphere Application Server im Detail bestehen, wenn Sie auf Komponenten von WebSphere Application Server zugreifen. Diese Unterschiede sind wichtig beim Zugriff auf MBeans für Anwendungen, da Sie das Programmiermodell von WebSphere Application Server oder das Java EE-Programmiermodell verwenden können.

Im Programmiermodell von WebSphere Application Server können Sie davon ausgehen, dass eine MBean, wenn sie vorhanden ist, ausgeführt wird. Wenn eine MBean nicht vorhanden ist, können Sie davon ausgehen, dass sie gestoppt wurde. Transiente Status zwischen dem Status Gestartet und dem Status Gestoppt stimmen mit dem Status Gestoppt überein, d. h., es ist keine MBean vorhanden.

Im Java EE-Programmiermodell ist die MBean immer vorhanden, unabhängig vom Status der Komponente.

Sie können den Status einer Komponente durch Abfragen des Statusattributs bestimmen. Das Statusattribut ist jedoch nur für MBeans vorhanden, deren Status verwaltet werden kann. Das bedeutet, dass sie die Schnittstelle "StateManageable" implementieren. MBeans, deren Status verwaltet werden kann, haben die Operationen start(), startRecursive() und stop(), unabhängig davon, ob sie Java EE-MBeans oder WebSphere Application Server-MBeans sind. Außerdem definiert WebSphere Application Server die statusabhängige Schnittstelle. Die statusabhängige Schnittstelle an, dass die Komponente einen Status hat, und gibt die Methode Java EE.state.notifications aus, die Komponente kann den Status jedoch nicht direkt verwalten. Beispielsweise kann ein Webmodul sich nicht selbst stoppen. Allerdings kann die Anwendung, die das Webmodul enthält, das Modul stoppen.

Nicht alle MBeans, die einen Status haben, lassen eine Statusverwaltung zu. Beispielsweise besitzen Servlets, Java EE-Module und Enterprise-Beans einen Status, lassen jedoch keine Statusverwaltung zu. Der Java EE-Server lässt keine Statusverwaltung zu, da keine Operation start() auf einem Server vorhanden ist.

Die J2EEApplication-MBean ist ein Beispiel für eine MBean, die die Statusverwaltung zulässt. Wenn der WebSphere Application Server gestartet wird, aktiviert jede Anwendung eine J2EEApplication-MBean für sich. Eine J2EEApplication-MBean hat den Java EE-Typ J2EEApplication (z. B. ObjectName *:*,j2eeType=J2EEApplication). Wenn die Anwendung gestartet wird, aktiviert sie auch eine MBean des Typs Application (z. B. *:*,type=Application). Wenn der Status der Anwendung sich ändert, wird die Application-MBean aktiviert oder inaktiviert. Die J2EEApplication-MBean ist jedoch immer aktiviert. Sie rufen die Änderungen des Anwendungsstatus durch Abrufen des Statusattributs ab.

Das Modulattribut in der J2EEApplication-Komponente gibt einen Array von Objektnamen zurück, einen Namen pro Modul in der Anwendung. Der Application Server aktiviert eine MBean für jedes dieser Module erst, nachdem die Anwendung gestartet wurde. Die verwaltete EJB-Methode isRegistered(ObjectName) gibt den Wert false zurück, wenn die Anwendung und somit auch das Modul nicht aktiv ist.

Alle in der Java EE-Verwaltungsspezifikation definierten Attribute geben gültige Werte zurück, wenn das verwaltete Objekt gestoppt wird. Andere Attribute und Operationen, z. B. diejenigen, die für den Application Server definiert werden, lösen die Ausnahme com.ibm.websphere.management.exception.ObjectNotRunningException aus, wenn bei gestopptem Objekt auf sie zugegriffen wird.

Wenn Sie die Anwendung installieren, während der Server ausgeführt wird, installiert die Anwendung die J2EEApplication-MBean nach Abschluss der Installation. Umgekehrt deaktiviert die Anwendung die MBean, wenn sie die J2EEApplication-MBean deinstalliert.

Typeneigenschaften zuordnen

Sie können feststellen, welche MBeans eine Eigenschaft "j2eeType" und eine WebSphere-Applcation-Server-Eigenschaft "type" in ihren ObjectName-Eigenschaftssätzen enthalten, indem Sie in der ergänzenden Dokumentation zu Anwendungsprogrammierschnittstellen (APIs) nachschlagen. Wählen Sie den Unterabschnitt für MBean-Schnittstellen aus, und wählen Sie anschließend spezielle MBeans in der Liste aus. Suchen Sie nach type= und j2eeType=. Mit der Eigenschaft "type" können Sie alle gewünschten MBeans abfragen. MBeans, die aus der Java EE-Spezifikation abgeleitet sind, enthalten als Teil ihrer ObjectName-Eigenschaftengruppe eine zusätzliche Eigenschaft mit dem Namen "j2eeType". Mit der Eigenschaft "j2eeType" können Sie MBeans abfragen.

Optionale Schnittstellen von WebSphere Application Server

Die Schnittstellen "EventProvider", "StateManageable" und "StatisticsProvider" sind optionale Schnittstellen, die die Java EE-Management-Spezifikation definiert. Welche der Schnittstellen vom Produkt implementiert wird, ist je nach MBean verschieden. Schlagen Sie in der ergänzenden Dokumentation zu Anwendungsprogrammierschnittstellen (APIs) nach, um zu prüfen, welche Schnittstellen das Produkt für eine bestimmte MBean implementiert. Wählen Sie den Unterabschnitt für MBean-Schnittstellen aus, und wählen Sie anschließend eine spezielle MBean in der Liste aus. Suchen Sie nach All Parent MBeans. Die Schnittstellen, die für die MBean implementiert sind, sind nach All Parent MBeans aufgeführt. Beispielsweise implementiert die MBean J2EEDomain keine der Schnittstellen, während die MBean JVM die Schnittstelle "StatisticsProvider" implementiert.


Symbol, das den Typ des Artikels anzeigt. Konzeptartikel



Symbol für Zeitmarke Letzte Aktualisierung: 25.05.2016
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=cjmx_mult_appsrvr
Dateiname:cjmx_mult_appsrvr.html