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.