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.