RMI dentro de um Session Bean

2 respostas
gcobr

Pessoal, eu gostaria de ouvir opinões a respeito do seguinte:

Imagine que você tenha um monte de lógica de negócio implementada em Session Beans e que num determinado ponto desta lógica, você precisa interagir com uma aplicação Java externa ao seu app server via RMI, através de uma API fornecida pelo próprio fabricante da tal aplicação.
A API em questão abre uma conexão RMI fazendo do seu Session Bean um cliente da outra aplicação.

Estou com medo de fazer isso dentro de um Session, mas se não fizer, minha lógica de negócio vai por água abaixo. A aplicação externa é uma coisa fechada, a qual eu não tenho acesso nenhum. Só tenho a API do fabricante em um JAR e sei que a conexão é via RMI.

Que lhes parece?

Fora isso …

Dentro do meu Session, na hora de chamar o método connect() da API desta aplicação externa tenho que informar o IP onde a maldita está esperando as conexões, que é diferente no ambiente de desenvolvimento e de produção. Aí, estou pensando em colocar em um arquivo de properties dentro do diretório de deploy do JBoss, já que preciso poder configurar isso sem ter que ficar reempacotando o EAR. Mas me parece uma solução tão deselegante … Abrir arquivo direto do disco em um Session … não me cheira bem …

Alguém tem alguma idéia de um lugar melhor para por esse IP?

2 Respostas

cv1

Isso tem jeito de codigo que vai feder, e muito - ainda mais pq a especificacao do EJB (e posso estar desatualizado, faz tempo que eu nao encaro) proibe o uso de qualquer tipo de I/O ou threading que nao seja gerenciado pelo container.

Voce nao pode transformar essa API terceira em um servico do seu app server e usar dali?

gcobr

É exatamente isso que eu queria fazer, mas meus conhecimentos de JBoss não são tão profundos. Alguma idéia?

Criado 27 de novembro de 2006
Ultima resposta 27 de nov. de 2006
Respostas 2
Participantes 2