18.12 Registry wird vom Server gestartet  In der Regel wird der Namensdienst, also die Registry, immer von Hand gestartet. Mitunter ist es praktisch, ihn nicht manuell vor dem Serverdienst zu starten, sondern so, dass der Server diesen automatisch startet. Das hat den Vorteil, dass bei nicht gestartetem Namensdienst (der Benutzer hat es zum Beispiel vergessen) der Dienst angeboten werden kann. Möglich ist dies, da rmiregistry auch nur ein RMI-Java-Programm ist und die Funktionalität für den Namensdienst über eine Klasse geht. Sie heißt LocateRegistry und bietet nur statische Methoden an. Darunter befindet sich die Methode createRegistry(), mit der ein Namensdienst gestartet wird.
import java.rmi.registry.*;
...
try {
LocateRegistry.createRegistry( Registry.REGISTRY_PORT );
}
catch ( RemoteException e ) { ... }
Anschließend ist der Namensdienst gestartet, und der Server kann seine Dienste dort anmelden. Problematisch wird dies allerdings dann, wenn das Programm mit dem Server beendet wird, in der Zwischenzeit jedoch noch ein anderer Server seinen Dienst eingetragen hat.
|
static Registry createRegistry( int port )
Starten den Namensdienst auf dem angegebenen Port. Registry.REGISTRY_PORT ist der Standard-Port 1099. |
|