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

Re: [reverbel-sod] resolve_initial_references para o JBoss



Olá Rodrigo.

On 6/7/06, Rodrigo Assirati Dias <rodrigodias@xxxxxxxxx> wrote:
Estou testando o deploy do EP2 no JBoss e reparei que os clientes não
conseguem encontrar o CorbaNamingService do JBoss e, ao tentarem um

orb.resolve_initial_references("NameService")

não conseguem encontrar a referência inicial para o objeto e falham a
conexão para meu host local porta 3284.
O único jeito que encontrei de funcionar foi copiando a IOR passada na
inicialização do JBoss para um arquivo e daí usar um string_to_object
para pegar a referência do naming service. Fazendo assim (quase) tudo
funciona direito e eu consigo rodar o cliente do EP2 com o servidor
levantado no JBoss. Vocês sabem de algum modo mais fácil de obter as
referências iniciais pro naming service? Estou fazendo algo de errado?
Estou em uma máquina sem JBoss/Eclipse/etc. Dou uma olhada mais tarde
nisso e mando uma resposta para a lista.

Uma outra pergunta: Dentro o JBoss, meu servidor tem problemas em
encontrar as classes do driver jdbc. Devo incluir o driver junto com o
meu sar? Sabem se o JBoss tem algum driver jdbc que possa ser
utilizado internamente?
Pode colocar o driver dentro do seu service archive (sar) sim. Fazendo
isso, as classes do driver devem "aparecer" para as classes do seu EP.

Quanto a pergunta se o JBoss tem algum driver que pode ser utilizado
internamente, vou te dizer o (pouco) que eu sei (Reverbel, se eu falar
alguma bobagem por favor me corrija). O JBoss não vem com drivers JDBC
para nenhum banco de dados (talvez ele venha com um driver para o
Hypersonic, que é um banco de dados que roda dentro do JBoss em
embedded mode --- mas não tenho certeza disso). Você pode sim, baixar
o driver e colocá-lo em $JBOSS_HOME/server/${sua_configuracao}/lib, e
ele vai ficar visível para todos os componentes que você implantar na
${sua_configuracao} do JBoss.

Só que num servidor de aplicações, geralmente não se usa o driver JDBC
exatamente como vocês estão fazendo no EP. Num servidor de aplicações
J2EE o que você acaba usando é um DataSource, que mantém um pool de
conexões para o banco de dados, otimizando acessos a este. Se você
olhar no diretório $JBOSS_HOME/docs/examples/jca, vai ver por exemplo
um arquivo chamado "mysql-ds.xml". Se você colocar nesse arquivo XML
as configurações do seu banco de dados e implantá-lo no JBoss (é só
copiar o arquivo XML para
$JBOSS_HOME/server/${sua_configuracao}/deploy), o JBoss vai registrar
um MySQL DataSource no JNDI. Daí ao invés do seu programa configurar
todo o driver JDBC, passando o nome do banco de dados, usuário, senha,
etc, seu programa tem apenas que fazer um lookup no JNDI.

Posso estar errado, mas a meu ver o EP2 de vocês está pronto, então
acho que usar um DataSource daria mais trabalho e o ganho seria
relativamente pequeno (desempenho não é o foco do EP). Portanto eu
segeriria deixar as coisas como elas estão :-).

[]'s