FB18 - Das Forum für Informatik

fb18.de / Diplom Informatik / Unterbereich Grundstudium / Praktische Informatik

Frage zu RMI

Frage zu RMI 2004-09-25 17:20
Anonymer User
hallo,

sitze gerade an RMI und versuche den Namensdienst zu starten,.

das Remote Object beim Namensdienst anmelden habe ich folgendermaßen gemacht:

IN der Klasse Server:
Remote zahl = new ZaehlerImpl();
Naming.bind("RMIZaehler", zahl);

Im der Klasse RMIClient:-hier habe ich die Methode lookup aufgerufen, die mir die Objektreferenz liefert:

Zaehler zaehler = (Zaehler) Naming.lookup("RMIZaehler");
…..


Meine Frage: Wie starte ich die RMI- Registry

der Befehl rmiregistry…………………..(und was kommt danach?)





Re: Frage zu RMI 2004-09-25 20:42
Fred
Naming.bind("RMIZaehler", zahl);
Zaehler zaehler = (Zaehler) Naming.lookup("RMIZaehler");
Das wird so nicht funktionieren. Sowohl beim bind als auch beim lookup musst du den Kram in folgender Form angeben:
rmi://localhost/RMIZaehler Statt localhost kannst Du natürlich auch 127.0.0.1 nehmen oder eine andere (gültige) IP-Adresse.

Das Starten der Registry kannst Du folgendermassen bewerkstelligen:
LocateRegistry.createRegistry(1099); Dann musst Du das nicht immer extra von Hand machen.

Ach ja, vergiss nicht, von der Serverklasse noch mit RMIC einen Stub zu erstellen.

Re: Frage zu RMI 2004-09-25 20:53
chris
Hm, "rmi:" kann man sich in den URIs sparen. Ich mein, wenn man es in Java aufruft ist ja das Protokoll eh klar…

Re: Frage zu RMI 2004-09-25 23:59
Anonymer User
und das localhost kann man sich genauso sparen…

die rmiregistry ist im java/bin verzeichnis zu finden.. (einfach starten *g*)

Re: Frage zu RMI 2004-09-26 21:47
chris
Naja, wenn man sich den Hostname spart macht RMI aber nicht mehr viel Sinn :D