Zur Bereitstellung der durch den Agenten benötigten Plattformen und Dienste wird das sogenannte Common Management Framework (CMF) des JDMK genutzt und der in Abschnitt 3.2.3 beschriebene Metadata-Service gestartet. Dies geschieht wie folgt:
// Framework starten cmf = new Framework(); // MetaDataService starten String mtdSrvClass = "com.sun.jaw.impl.agent.services.light.MetaDataSrv" ; String mtdSrvName = domain + ":" + ServiceName.META ; cmf.newObject(mtdSrvClass, mtdSrvName, null) ;Durch das Erzeugen eines neuen Objektes der Klasse Framework mit einem leeren Konstruktor werden zwei Vorgänge automatisch durchgeführt. Es wird diesem Framework automatisch eine Standard-Domänenbezeichnung (defaultDomain) zugewiesen und der Repository Service gestartet. Soll nun ein Framework in der Domäne ,,Fahrzeughersteller`` gestartet werden, so ist der Konstruktor wie folgt aufzurufen:
// Framework starten cmf = new Framework("Fahrzeughersteller");Nach dem Erzeugen des CMF wird eine Instanz der Klasse com.sun.jaw.impl.agent.services.light.MetaDataSrv erzeugt und dem Framework zugewiesen. Es wird hier darauf hingewiesen, daß zwar weitere Services im Vorfeld der Prototyperstellung getestet wurde, tatsächlich allerdings nicht alle implementiert wurden. Diese Dienste und ihr potentielles Einsatzgebiet werden im Kapitel 6 geschildert. In einem letzten Schritt werden nun die M-Beans erzeugt und im Framework registriert. Exemplarisch wird die dazu notwendige Vorgehensweise am Beispiel der Klasse AgISDN_Status dargestellt.
... // MBean erzeugen isdnStatus = new AgISDN_Status(); ... // MBean registrieren try { ObjectName i = new ObjectName(domain + ":" + "ISDN_Status.SerialNo=1"); cmf.addObject(isdnStatus, i); } catch (InstanceAlreadyExistException e){ System.out.println("BasisAgent.initBasisAgent(): InstanceAlreadyExistException !!"); e.printStackTrace(); } ...Um ein M-Bean registrieren zu können, wird zunächst ein Objektname benötigt. Dieser setzt sich aus folgenden Komponenten zusammen:
Im Prototypen wurde ein Schlüssel mit der Bezeichnung Serialno und dem Wert 1 gewählt. Zu beachten ist noch, daß beim Registrieren eines M-Beans eine InstanceAlreadyExistException abgefangen werden muß, die verhindern soll, daß mehrere M-Beans mit gleichem Objektnamen erzeugt werden.