Rund um Java RMI

ValCoder

Grünschnabel
Hallo, ich bin ein ziemlicher Java Anfänger und bin gerade dabei ein Server/Client Projekt zu erstellen auf Basis von RMI. Habe mir bereits einiges an Doku angeeignet und auch ein Beispielprojekt zum Laufen gebracht. Im Großen und ganzen würde mich eure Meinung zur bestmöglichen Umsetzung folgender Punkte interessieren:

1. Auf dem Client Rechner müssen die policy Einstellungen entsprechend geändert werden, damit die Kommunikation mit dem Server funktioniert. Wie würde man das am besten lösen? Über ein Installationprogramm? Zur Laufzeit? Oder ganz was anderes? Ich möchte den User mit möglichst wenig Dialogen und Einstellungssachen belästigen...

2. Es wird empfohlen den rmiregistry classpath zu leeren bevor man die rmiregistry startet. Überall wird dazu ein Kommandozeilenbefehl aufgeführt. Ist sowas auch zur Laufzeit aus der Anwendung heraus möglich? Oder habe ich einen Denkfehler und beim Aufruf von LocateRegistry.createRegistry(); ist der classpath automatisch leer?

3. Was ist die beste Möglichkeit für den Aufruf von rmic im Bezug auf classpath Vorgaben etc.? Und wie lässt sich das in meinem build.xml script integrieren? Im Moment rufe ich das so auf:

<target name="-post-compile"> <rmic base="${build.classes.dir}" includes="**/Remote*.class"/></target>

4.Um der RMI Registry den Pfad für die Stubs zu liefern kann System.setProperty("java.rmi.server.codebase", <pfad>) verwendet werden. Was ist hier euer Meinung nach die beste Realisierungsmöglichkeit auf einem Server? (im Bezug auf die stubs, permissions, etc.)

Vielen Dank.
 
Zurück