CORBA: O servertool de Java não me permite registrar uma classe de servidor
-
20-09-2019 - |
Pergunta
Foram puxados para baixo no reino de Corba ...
Estou tentando aprender rapidamente (se não mestre ...) Corba ao lado de seus mapeamentos Java. Eu encontrei alguns tutoriais antigos:
Java IDL: O exemplo "Hello World"
Orbd - o daemon do corretor de solicitação de objeto
Eu criei um projeto com a fonte desde o primeiro link acima (Java IDL ...) e executei o Heloserver e o Helloclient depois de executar o seguinte comando:
start orbd -ORBInitialPort 1050
Não é de surpreender que tudo funcione :)
Então, para registrar o Heloserver no serviço como um serviço persistente e falhar miseravelmente!
Eu execute o seguinte comando (lançado na pasta "bin" (que contém os arquivos .class)):
%JAVA_HOME%\bin\servertool -ORBInitialPort 1050
Eu então corro:
servertool > register -server HelloServer -classpath .
E o processo simplesmente pendura ...
O que eu posso estar fazendo de errado
Solução
Bem, não sei por que as coisas começaram a funcionar, mas ...
Na pasta "bin" (que contém os arquivos .class) que eu executei:
%JAVA_HOME%\bin\orbd -ORBInitialPort 1050
Em seguida, abriu um novo shell CMD (do mesmo local) - já que o anterior está executando o ORBD e executou:
%JAVA_HOME%\bin\servertool -ORBInitialPort 1050
Ambos:
register -server HelloServer -classpath . -applicationName HelloServerApName
e
register -server HelloServer -classpath .
trabalhar
Outras dicas
O Helloserver sabe onde (porto e nome da máquina) para encontrar o serviço de nomeação?
Caso contrário, este link pode ajudar: ORBD - O Broker da Solicitação de Objeto Daemon (ORBD).