Galileo Computing < openbook > Galileo Computing - Professionelle Bücher. Auch für Einsteiger.
Professionelle Bücher. Auch für Einsteiger

 << zurück
Java ist auch eine Insel von Christian Ullenboom
Programmieren für die Java 2-Plattform in der Version 5
Java ist auch eine Insel

Java ist auch eine Insel
5., akt. und erw. Auflage
1454 S., mit CD, 49,90 Euro
Galileo Computing
ISBN 3-89842-747-1
gp Kapitel 18 Verteilte Programmierung mit RMI und SOAP
  gp 18.1 Entfernte Methoden
    gp 18.1.1 Wie entfernte Methoden arbeiten
    gp 18.1.2 Stellvertreter (Proxy)
    gp 18.1.3 RMI
    gp 18.1.4 Wie die Stellvertreter die Daten übertragen
    gp 18.1.5 Probleme mit entfernten Methoden
  gp 18.2 Nutzen von RMI bei Middleware-Lösungen
  gp 18.3 Die Lösung für Java ist RMI
    gp 18.3.1 Entfernte Objekte programmieren
    gp 18.3.2 Entfernte und lokale Objekte im Vergleich
  gp 18.4 Definition einer entfernten Schnittstelle
  gp 18.5 Implementierung der Remote-Schnittstelle
  gp 18.6 Stellvertreterobjekte erzeugen
  gp 18.7 Der Namensdienst (Registry)
    gp 18.7.1 Der Port
  gp 18.8 Der Server
    gp 18.8.1 Entfernte Objekte beim Namensdienst anmelden
    gp 18.8.2 Automatisches Anmelden bei Bedarf
  gp 18.9 Einen Client programmieren
    gp 18.9.1 Einfaches Logging
  gp 18.10 Aufräumen mit dem DGC
  gp 18.11 Entfernte Objekte übergeben und laden
    gp 18.11.1 Klassen vom RMI-Klassenlader nachladen
  gp 18.12 Registry wird vom Server gestartet
  gp 18.13 RMI über die Firewall
    gp 18.13.1 RMI über HTTP getunnelt
  gp 18.14 RMI und CORBA
  gp 18.15 Daily Soap
    gp 18.15.1 SOAP-Implementierungen
    gp 18.15.2 Einen Client mit der Apache-Bibliothek implementieren
    gp 18.15.3 Der Seifen-Server
  gp 18.16 Java Message Service (JMS)


Galileo Computing

18.12 Registry wird vom Server gestartetoptop

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. Dies hat den Vorteil, dass bei nicht gestartetem Namensdienst (der Benutzer hat es zum Beispiel vergessen) der Dienst angeboten werden kann. Möglich ist das, weil 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 ein weiterer Server seinen Dienst eingetragen hat.


final class java.rmi.registry.  LocateRegistry  

gp  static Registry createRegistry( int port ) Starten den Namensdienst auf dem Port 1099.
gp  static Registry createRegistry( int port ) Starten den Namensdienst auf dem angegebenen Port. Registry.REGISTRY_PORT ist der Standard-Port 1099.
 << zurück




Copyright © Galileo Press GmbH 2005
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das <openbook> denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.


[Galileo Computing]

Galileo Press GmbH, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, info@galileo-press.de