Existe um problema no Jacorb ao usar um mesmo
nome de POA em servidores diferentes (mas que tem o mesmo nome para o
JacORB).
No nosso caso, quando uma instância do
servidor tenta obter alguma informação remota da sub-peça de um outro
servidor (para montar o SubpartInfo), o JacORB se confunde e tenta resolver localmente a referência, apesar de ser remota.
Isso acontece pelo fato do nome do POA ser igual e do servidor também - e o
JacORB usa essas informações para encontrar o POA (desprezando endereço IP, por
exemplo). Ou seja, ao criar um POA com políticas diferentes, ocorre um erro
de runtime ao fazer da seguinte forma:
POA poaPart =
root.create_POA("NOME_PADRAO", root.the_POAManager(), policies);
A solução mais fácil e elegante para esse
"problema" do JacORB é passar um parâmetro na linha de comando com o nome do
servidor ("-Djacorb.implname=NOMEDOSERVIDOR"). Também se pode fazer o primeiro parâmetro do create_POA diferente de servidor para
servidor, ou até criar um arquivo de configuração para
cada servidor e alterar o nome do servidor (chave
jacorb.implname).
Encontrei uma mensagem sobre isso da lista do
Jacorb...
Espero que isso ajude alguém...
|