Ich führe CORBA Persistent Object-Implementierung in Java IDL
wie in Java IDL: Das Beispiel "Hello World"
Ich habe das genaue Verfahren im obigen Artikel
befolgtIch habe servertool für die Registrierung des persistenten Servers verwendet, wie im Beispiel gezeigt. aber wenn ich versuchte, Server mit Syntax wie in diesem Artikel zu registrieren:
servertool > register -server PersistentServer -applicationName s1
-classpath path_to_server_class_files
Ich hänge und tue nichts, dann muss ich ctrl+c
machen, um zum normalen Modus zurückzukehren
Was könnte daran falsch sein?
Das Problem ist, dass Ihr Java JDK-Installationspfad Leerzeichen enthält.
Wenn Ihr JDK in einem Pfad mit Leerzeichen wie "C: \ Programme \ Java \ jdk1.7.0" installiert ist, müssen Sie orbd und serverool über ihren absoluten Pfad starten (in Windows müssen Sie die Kurzschreibweise verwenden) dh mit ~ [tilda]):
C: \ Programme ~ 1 \ Java \ jdk1.7.0 \ bin \ orbd -ORBInitialPort 1050 -serverPollingTime 200
C: \ Programme ~ 1 \ Java \ jdk1.7.0 \ bin \ servertool - ORBInitialPort 1050
Servertool & gt; register -server PersistentServer -applicationName MyApp -classpath. (Passen Sie den Klassenpfad nach Bedarf für die von idlj generierten Dateien an)
Unter Windows finden Sie den Kurznamenpfad mit: dir *.* /x
Wenn Sie eine Umgebungsvariable wie% JAVA_HOME% gleich "C: \ Programme \ Java \ jdk1.7.0" verwenden und sie dann an PATH anhängen, funktioniert NICHT Kurzschreibweise (mit Tilda) verwenden, dh "C: \ Progra ~ 1 \ Java \ jdk1.7.0"
HINWEIS : Wenn Ihr JDK in einem Pfad ohne Leerzeichen installiert ist, z. B. C: \ Java \ jdk1.7.0, können Sie orbd und servertool ohne Verwendung starten ein absoluter Pfad und es wird funktionieren.
Lesen Sie Ausführen von CORBA-Anwendungen für eine vollständige Beschreibung
Erstellen Sie die Java-Stub- und Skeleton-Klassen, indem Sie die IDL-Datei mit dem Befehl 'idlj' kompilieren.
%Vor%Kompilieren Sie die Quelldateien
%Vor%Starten Sie den Object Request Broker (ORB) -Daemon
%Vor%Unter Unix zeigt der Befehl 'ps -e' die Prozessnummer an, die orbd zugewiesen ist. Der Befehl kill kann verwendet werden, um den Prozess zu beenden.
Während der Ausführung schreibt der Daemon Nachrichten in das Unterverzeichnis orb.db. Rufen Sie den Server auf unix: java IDLserver -ORBInitialHost localhost -ORBInitialPort 4321 & amp; Windows: Starten Sie Java IDLserver -ORBInitialHost Localhost -ORBInitialPort 4321 Rufen Sie den Client auf
%Vor%Der Standard-ORB-Ausgangsport ist Port 900 (nur ein Root kann ihn auf Solaris starten).
Tags und Links java persistent corba idl