Pessoal, nunca usei ejb, e estou precisando de uma ajuda.
Conseguir vários materiais para entender o que são etc.
Me foi enviada um arquivo .ear, onde está o ejb para fazer um teste.
Não consegui entender como faço para ler este arquivo, onde colocar? tudo que achei na net foi como criar e depois ler… mas assim depois de pronto…
Eu deveria colocar ele no \jboss-4.2.2.GA\server\default\deploy (no meu caso uso jboss) ? e depois tentar ler este ejb através do Lookup?
ou tenho que pegar este .ear e colocar dentro da minha web app atual…
minha dúvida no momento é onde colocar pra usar este arquivo .ear que me foi entregue?
EAR é uma aplicação enterprise já empacotada para fazer o deploy. Dentro do EAR, geralmente estão os módulos EJBs (JAR), Web (WAR) e outros módulos.
Para você utilizar o módulo EJB na sua aplicação WEB, você precisa das interfaces dos componentes EJBs (no caso EJB2 e EJB3 são diferentes, já que o EJB2 tem mais interfaces).
Tenta descompactar esse arquivo .EAR (o Winrar eu acho que faz isso) e verifica se tem um módulo EJB lá (.JAR). Se sim, tenta descompactar ele e olhe se tem as interfaces, se sim, você pode usá-la no seu projeto Web. Porém aconselho a pedir para a pessoa que criou isso, criar um pacote só com as interfaces (conhecido como Application Client) e te enviar, assim ficando mais fácil para você.
carol_programadora
oi obrigada pela ajuda, fiz um procedimento mas deu erro: criei um projeto EAR no eclipse, adicionei o jar do ejb e coloquei junto meu .war da minha aplicação que vai usar o ejb e ai coloquei no servidor, mas na hora de subir o server olha que deu:
olha minha classe de leitura do EJB, peguei dicas com outros posts mas não consegui:
publicStringexecute()throwsNamingException{System.out.println("Consumindo componente de negócio");Propertiesprops=newProperties();props.setProperty("java.naming.provider.url","jnp://127.0.0.1:1099");props.setProperty("java.naming.factory.url.pkgs","org.jboss.naming");props.setProperty("java.naming.factory.initial","org.jnp.interfaces.NamingContextFactory");Contextctx=newInitialContext(props);AcoesNegociot=(AcoesNegocio)ctx.lookup("AcoesCentral/remote");mensagem=t.getUsuarios().get(0);returnINPUT;}
D
davi-baldin
Três OBS:
AcoesNegocio precisa ser a interface @Remote, já que seu lookup está procurando a implementação remota (tem as propriedades).
O lookup pode estar consultando o caminho errado. Abra o JBOSS JNDI View.