Em todos os projetos em que trabalhei com j2ee sempre a página jsp foi colocadano mesmo ear em que se encontra o ejb, ou seja dentro o ear eu tenho um war que corresponde a view e um jar com os ejbs mas, agora gostaria de usar clientes swing pra acessar os ejb’s, mas pra isso eu não gostaria de instalar um jboss na máquina de cada cliente e ter que baixar toda a aplicação.
Tem alguma forma de eu deixar 100% desacoplado o cliente dos componentes ejb?
A ideia é justamente deixar eles lá no servidor de aplicações, é só você configurar o endereço do servidor e pronto...
Properties config = new Properties();
config.put(Context.INITIAL_CONTEXT_FACTORY, "org.jnp.interfaces.NamingContextFactory");
config.put(Context.URL_PKG_PREFIXES, "org.jboss.naming:org.jnp.interfaces");
config.put(Context.PROVIDER_URL, "jnp://192.170.13.20:1099");
InitialContext context = new InitialContext(config);
Object obj = context.lookup("MeuEJB");
192.170.13.20 é o ip do servidor do JBoss, coloca o seu, claro!
Vê se é isso que quer, qualquer coisa é só falar!
S
samuraiPJ
Beleza?
Até aí tudo bem, mas tem mais uma coisa
Eu preciso criar um objeto do mesmo tipo da inerface remota como fazer isso se no vaso minha alicação cliente não tem acesso as interfaces e jar’s no servidor?
Obrigado!
M
marcossousaPJ
Na verdade, você deve deixar as interfaces remotas no teu cliente. Elas são um “elo” de ligação do cliente com o serviço.
:okok:
S
samuraiPJ
Agora entendo.
Mas e no caso da inerface local e da home local? Vou então que usar na minha aplicação cliente o arquivo j233-server.jar porque preciso da interface EJBRemote e EJBHome correto?
Valeu galera!
J
jaireltonPJ
Sim, no JBoss tem um jar só com as classes para o cliente, tente encontrar ele aí, acho que algo como client-all.jar, alguma coisa assim, aí você vai ter a implementação de EJB pra levar pro cliente!
S
samuraiPJ
Obrigado pela ajuda galera,
vou tentar aqui, qualquer dúvida volto a incomodá-los.
Obrigado!
S
samuraiPJ
E aí galera beleza?
Segui as recomendações acima citadas mas mesmo assim tenho problemas
Ao executar o cliente o console apresenta o seguinte erro: