Um ein M-Bean innerhalb eines CMF verwenden zu können, muß dieses registriert werden. Es ist hierbei zu beachten, daß es keinerlei Code innerhalb des M-Bean bedarf, um diesen innerhalb eines CMF zu registrieren. Lediglich ein Manager oder Agent hat den Code zur Registrierung bereitzustellen. Dies bietet die Möglichkeit, temporär Agenten zu erzeugen, um andere Agenten um M-Beans zu erweitern. Unter JDMK bieten sich zwei Möglichkeiten, M-Beans zu registrieren:
addObject
durchgeführt. Es ist zu beachten, daß es sich um eine
nichtpersistente Registrierung eines M-Bean handelt. Das bedeutet,
daß der M-Bean nur für die Laufzeit des Agenten existiert. Soll der
M-Bean dauerhaft dem Agenten zugeordnet werden, so ist die Methode
addDBObject
zu verwenden. Dauerhaft bedeutet in diesem
Zusammenhang, daß das M-Bean bei Verwendung des Repository-Service
(siehe Kap. 3.7.1) mit dessen aktuellem Status
gespeichert wird. Die Verwendung der beiden Methoden ist
nachfolgend zu ersehen.
// I. nicht persistente Registrierung bestehender M-Beans // Irgendeine M-Bean Instanz mbeanText = new String("M-Bean (nichtpersistent)"); // Aufbau des Objektbezeichners String domain = cmf.getDomain(); mbeanName = new ObjectName(domain + ":" + mbeanKlasse.ident=1"); //Registrierung des M-Bean im Core Management Framework cmf.addobject(mbeanText, mbeanName); // II. persistente Registrierung bestehender M-Beans // Irgendeine M-Bean Instanz mbeanText = new String("M-Bean (persistent)"); // Aufbau des Objektbezeichners String domain = cmf.getDomain(); mbeanName = new ObjectName(domain + ":" + mbeanKlasse.ident=1"); //Registrierung des M-Bean im Core Management Framework cmf.addDBobject(mbeanText, mbeanName);
newObject
für nicht persistente und
newDBObject
für persistente Registrierung.
addDBObject
(bzw.
newDBObject
) durch das CMF wird zusätzlich eine Methode
isPersistent
ausgeführt. Diese Methode überprüft, ob eine
persistente Speicherung für den Agenten vorgesehen ist. Ist dies nicht
der Fall, so wird eine ServiceNotFoundException ausgelöst.