[Prévia] [Próxima] [Prévia por assunto] [Próxima por assunto]
[Índice cronológico] [Índice de assunto]

Problema resolvido com configuracao estranha do JacORB



Ola a todos,
so para constar, consegui resolver o problema que havia postado anteriormente.
Depois de procurar bastante consegui achar algo sobre o que estava ocorrendo:

http://www.jacorb.org/cgi-bin/bugzilla/show_bug.cgi?id=473

Acho que o cara esta exagerando de chamar isso um bug, mas o que ele descreve
era quase o que acontecia comigo. A diferenca era que comigo dava
OBJECT_NOT_EXIST, pois o objeto chamado nao existia no mesmo processo.

Enfim, como o cara comenta no link acima o problema ocorre com o is_local da
classe org.jacorb.orb.Delegate. No meu caso eu chamava dentro de um objeto CORBA
um outro objeto CORBA que residia em outro processo, mas nao sei porque o JacORB
achava que o meu objeto-alvo estava no mesmo processo. Dai dava pau. Rodando
fora de um objeto CORBA (no cliente, por exemplo) tudo rodava blz.

A solucao foi alterar a propriedade 'jacorb.implname' do JacORB para um valor
diferente para cada servidor. O proprio JacORB comenta sobre esse cara:

'the implementation name, should be set to a different name in the code of
persistent servers'

Mas achei meio estranha essa implementacao do is_local que depende de uma
configuracao. Nao seria melhor se o JacORB comparasse o IP e porta da IOR para
determinar se o objeto-alvo e local (como o link acima sugere) e nao precisasse
de uma configuracao extra ('jacorb.implname')?

Abracos.

Ivan Neto <ivanneto@ime.usp.br>