Next: Integration in verfügbare JMX-Produkte
Up: Durchführung der Tests
Previous: Test des Umsetzen von
Contents
Die Methoden der MBean-Server Schnittstelle (Siehe Abbildung 8.4)
lassen sich in verschiedene Bereiche aufteilen, wie z.B. das Erstellen oder
Erfragen von MBeans oder Ausführen von Operationen auf MBeans:
- Im Bereich Erstellen, Registrieren und Deregistrieren sind die Methoden
zu createMBean (direktes Erstellen und sofortiges Registrieren),
instantiate (Erstellen und Verwalten durch die Objektverwaltung),
registerMBean und unregisterMBean auf ihre Funktionsfähigkeit
getestet. Damit lassen sich über den Adapter wie gewöhnlich MBean
von der Erstellung bis zur Deregistrierung verwalten.
- Im Bereich des Erfragens von registrierten MBeans sind die Methoden
queryNames und queryMBeans getestet, die eine Liste
aller vorhandenen MBean-Namen oder -Instanzen in Form von JMX_ObjectName
oder JMX_ObjectInstance zurückgeben, vorausgesetzt, sie entsprechen
dem übergebenen Muster. Damit funktionieren die Methoden wie gewohnt
bis auf die Eigenschaft, einen logischen Ausdruck übergeben zu können,
da dieses aufgrund der komplexen JAVA-Objektstruktur nicht realisiert
wurde (siehe Abschnitt 8.3.4). Die durch die Methoden erfragten Objektnamen
oder -instanzen liegen dem Manager aufgrund der Objektübertragung
(Object-By-Value) als Objekte vor und können somit zwischengespeichert
und damit immer wieder als Parameter übergeben werden. Dies ist in
dem Zusammenhang sehr nützlich, da sämtliche MBean-Operationen durch
einen JMX_ObjectName identifiziert werden.
- Die zur Übertragung der Metainformation eines MBeans gebrauchte Methode
getMBeanInfo funktioniert ebenfalls korrekt, es können zu jedem
registrierten MBean Informationen in dem Datentyp JMX_MBeanInfo
übergeben werden. Durch ein Auslesen der JMX_MBeanInfo mit
den zugehörigen, im Informationsmodell beschriebenen Strukturen stehen
dem Manager sämtliche Informationen zu Konstruktoren, Attributen,
Operationen und Nachrichten des MBeans zur Verfügung, die z.B. informativ
oder als Signaturgrundlage für Methodenaufrufe genutzt werden können.
- Mit den aus JMX_MBeanInfo oder anderen Quellen erworbenen
Beschreibungen der MBeans können Signaturen für Operationsaufrufe
auf MBeans durch die Methode invoke zusammengestellt werden,
deren Funktionieren durch Tests nachgewiesen wurde. Auch das Erfragen
oder Setzen von bestimmten Attributwerten des MBeans durch getAttribute(s)
oder setAttribute(s) ist problemlos möglich.
- Das Hinzufügen und Entfernen von Listener zu Nachrichten durch addNotificationListener
und removeNotificationListener funktioniert wie folgt: Auf
Seiten des Managers wird eine Instanz von JMX_NotificationListener
angelegt, der die Nachrichten JMX_Notification empfangen und
auswerten bzw. ausgeben kann. Diese Instanz wird dann wie gewohnt
durch addNotificationListener bei dem gewünschten MBean registriert,
wobei auf Agentenseite der im vorherigen Kapitel erklärte Mechanismus
mit dem Nachrichtenadapter greift. Liegt der Listener jedoch als MBean
vor, muss nur der Objektname übergeben werden. Die hier aufgezeigte
Organisation des Hinzufügens von Listener aber auch das Entfernen
dergleichen funktioniert im Test, es können durch MBeans Nachrichten
gesendet werden, die sofort an den Manager übermittelt und dort augegeben
werden. Dabei beruht der Mechanismus wie angesprochen bisher noch
auf einer proprietären Lösung, da der JavaIDL noch keinen Nachrichtendienst
implementiert.
- Sonstige Funktionen für das Verwalten von MBean-Server als auch MBeans
selbst wie getMBeanCount, getDefaultDomain, getObjectInstance,
isRegistered oder isInstanceOf liefern in dem Test erwartungsgemäße
Informationen.
- Die Methoden zu deserialize aus dem Informationsmodell sind
auf die zugehörigen Methoden des JMX-Agenten umgesetzt, so dass aus
einem übergegebenden Bytestrom ein Objekt deserialisiert werden kann,
das ebenfalls durch die Objektverwaltung zur Verfügung steht (z.B.
als Parameter). Aufgrund eines fehlenden Anwendungsfalls konnten diese
Methoden nicht getestet werden, sind aber entsprechend der Beschreibung
des MBean-Servers umgesetzt.
- Die zusätzlichen und korrekt funktionierenden
Methoden getProtocol, getAddress, getPort,
setPort, isConnected und stop ermöglichen direkten
Zugriff auf die MBean Repräsentation des IIOP-Adapters und vereinfachen
dadurch das kompliziertere Vorgehen über z.B. invoke oder getAttribute
auf das ebenfalls im Agenten registrierte MBean zu dem IIOP-Adapter.
Damit sind alle Methoden von JMX_MBeanServer bis auf deserialize
getestet und leisten die gewünschte Funktionalität, nur eingeschränkt
durch die Menge der exemplarisch umgesetzten Transformationen des
allgemeinen Datentyps zwischen Object auf JAVA-Seite, Any
in IDL und CORBA und CORBA::Any in C++.
Next: Integration in verfügbare JMX-Produkte
Up: Durchführung der Tests
Previous: Test des Umsetzen von
Contents
root
2002-08-11