Java IDL: servertool не регистрируется и зависает - PullRequest
9 голосов
/ 20 октября 2011

Я использую реализацию CORBA Persistent Object в Java IDL

как в Java IDL: Пример «Hello World»

Я следовал точной процедуре в статье выше

Я использовал servertool для регистрации Постоянного сервера, как показано в примере. но когда я попытался зарегистрировать сервер, используя синтаксис, как в этой статье:

servertool > register -server PersistentServer -applicationName s1 -classpath path_to_server_class_files

Я зависаю и ничего не делаю, затем я должен сделать ctrl+c, чтобы вернуться в обычный режим

что может быть не так с этим ??

Ответы [ 2 ]

1 голос
/ 28 октября 2011

Проблема в том, что путь установки Java JDK содержит пробелы.

Если ваш JDK установлен по пути с пробелами, например "C: \ Program Files \ Java \ jdk1.7.0 ", затем вы должны запустить orbd и servertool, используя их абсолютный путь (в Windows вы должны использовать сокращенную запись, т.е. с ~ [tilda]):

C: \ Progra ~ 1 \ Java \ jdk1.7.0\ bin \ orbd -ORBInitialPort 1050 -serverPollingTime 200

C: \ Progra ~ 1 \ Java \ jdk1.7.0 \ bin \ servertool -ORBInitialPort 1050

servertool> регистр-сервер PersistentServer -applicationName MyApp-класс(при необходимости измените путь к классу для файлов, сгенерированных idlj)

В Windows вы можете найти путь к короткому имени, используя: dir *.* /x

В случае, если вы используете переменную среды, такую ​​как% JAVA_HOME%, равнав "C: \ Program Files \ Java \ jdk1.7.0", а затем вы добавляете его в PATH, он будет НЕ работать, вы должны использовать сокращенную запись (с тильдой), то есть "C: \ Progra ~1 \ Java \ jdk1.7.0 "

СОВЕТ : если ваш JDK установлен в пути без пробелов, например C: \ Java \ jdk1.7.0, вы можетезапустите orbd и servertool без использования абсолютного пути, и он будет работать.

0 голосов
/ 15 декабря 2013

пожалуйста, прочитайте Запуск приложений CORBA для полного описания

Создайте классы-заглушки и скелеты Java, скомпилировав файл IDL с помощью команды "idlj".

  idlj -fall IDLfile.idl

Скомпилируйте исходные файлы

javac IDLserver.java
javac IDLclient.java
or

javac javac *.java IDLmodule/*.java

Запуск демона Object Request Broker (ORB)

unix:   orbd -ORBInitialPort 4321 &
windows:    start orbd -ORBInitialPort 4321

В unix команда ‘ps -e’ показывает номер процесса, присвоенный orbd. Команда kill может быть использована для уничтожения процесса.

Во время работы демон записывает сообщения в подкаталог orb.db. Вызвать сервер Unix: Java IDLserver -ORBInitialHost localhost -ORBInitialPort 4321 & Windows: запустить Java IDLserver -ORBInitialHost localhost -ORBInitialPort 4321 Вызвать клиента

java IDLclient -ORBInitialHost localhost -ORBInitialPort 4321

Начальным портом ORB по умолчанию является порт 900 (только суррис может запускать его).

...