Die Umsetzung der oben beschriebenen Architektur in ein Klassenmodell
ist in Abbildung 5.8 dargestellt.
if (AgBasis.isdnStatus.performCheckISDNStatus() == 1) { int ok = 1; while ((dataObjects.size() > 0) && (ok == 1)){ ok = performTransferData((DataObject)dataObjects.elementAt(0)); if (ok == 1 ) dataObjects.removeElementAt(0); } }Ist dies der Fall, werden sämtliche Datenpakete einzeln übertragen. Erst wenn die Methode performTransferData die korrekte Übergabe der Daten bestätigt hat, werden diese aus der lokalen Datenhaltung im Vektor dataObjects entfernt.
String managerHost = AgBasis.globalVariables.getmanagerHostName();Dazu wird zunächst der Name des Managers aus der Konfigurationsklasse ausgelesen. Dann wird der Objektname des zu kontaktierenden M-Beans angegeben, der im Rahmen des Prototypen fest implementiert wird.
ObjectName name = new ObjectName("defaultDomain:MgDataReceiver.SerialNo=1"); AdaptorClient adaptor = new AdaptorClient(); adaptor.connect(null, managerHost, 1099, ServiceName.APT_RMI);Die hier gezeigten Adapter-Clients entsprechen dem C-Bean Konzept des JDMK. Um nun auf den MgDataReceiver zugreifen zu können muß zunächst ein AdaptorClient-Objekt erzeugt werden. Mit Hilfe dieses Clients kann im folgenden Schritt die Verbindung zum Manager hergestellt werden. Dazu sind neben der Bezeichnung des Hostnamen auch die Art des Adapters (hier wurde ein RMI-Adapter genutzt) und der dazugehörige Port anzugeben.
MgDataReceiverMO dataReceiver = (MgDataReceiverMO)((Vector)adaptor.getObject(name,null)).firstElement();Über dieses C-Bean kann auf die entfernte Klasse wie auf eine lokale zugegriffen werden. Dies geschieht im Prototypen wie folgt:
boolean transferOK = dataReceiver.performReceiveData(da);Bei dieser Art des Zugriffes über den Adapter-Client handelt es sich um einen sogenannten High-Level Zugriff.