Erro ao chamar EJB usando JBoss 4.2.2

7 respostas
saviobarr
Olá amigos,

Fiz uma pequena aplicação em que um BackingBean JSF chama um EJB. Empacotei tudo num .ear (.war, META-INF e ejb.jar), joguei no JBoss, a aplicação subiu legal. No console do JBoss diz que os EJBs subiram (12:20:07,515 INFO  [EJBContainer] STARTED EJB: br.com.dc.business.CalculoDiferencial ejbName: CalculoDiferencial

12:20:07,578 INFO  [EJB3Deployer] Deployed: file:/C:/jboss-4.2.2/server/default/

tmp/deploy/tmp29335ControlCenter.ear-contents/ejb-jar.jar)

Porém ao chamar esse EJB a partir do meu backing bean  NullPointerException. Abaixo trecho do código do backing bean em que chamo o EJB:

1 package br.com.dc.view;

2 import javax.ejb.EJB;

3 importbr.com.dc.business.CalculoDiferencialInterface ;

4 public class CalculoDiferencialMB {

5 @EJB

6 private CalculoDiferencialInterface  cdi;

7 public String calculo(){

8      System.out.println("—CALCULO EJB: BACKING BEAN");

9     //aqui ocorre o erro

10      cdi.calcular();

11      return posCalculo;

12  }

13 }

O erro ocorre na linha 10, é como se o contêiner não estivesse injetando o EJB na variável cdi

Agradeço a todos

Sávio Barros

7 Respostas

B

Olá saviobarr,

Está dando erro, pois no JBoss a anotação @EJB ainda não foi implementada.
No JBoss, você vai ter que usar a chamada via JNDI. (lookup)
Agora se você usar o Glassfish ou o Sun Application Server funciona blz.

Espero ter ajudado
[]s

L

brunolinsalves:
Olá saviobarr,

Está dando erro, pois no JBoss a anotação @EJB ainda não foi implementada.
No JBoss, você vai ter que usar a chamada via JNDI. (lookup)
Agora se você usar o Glassfish ou o Sun Application Server funciona blz.

Espero ter ajudado
[]s

Essa informação não confere! Uso JBoss e uso @EJB!

Não sei aonde está o erro nesse caso!

[]'s

L

lavh:
brunolinsalves:
Olá saviobarr,

Está dando erro, pois no JBoss a anotação @EJB ainda não foi implementada.
No JBoss, você vai ter que usar a chamada via JNDI. (lookup)
Agora se você usar o Glassfish ou o Sun Application Server funciona blz.

Espero ter ajudado
[]s

Essa informação não confere! Uso JBoss e uso @EJB!

Não sei aonde está o erro nesse caso!

[]'s

ops…uma pista!

@EJB só funciona em classes que são gerenciadas pelo container, aparentemente essa sua classe CalculoDiferencialMB não está sendo gerenciada pelo container. Eu sei que outros EJBS e JMXs são gerenciados, agora quanto a coisas do JSF não sei dizer…

[]'s

saviobarr

brunolinsalves:
Olá saviobarr,

Está dando erro, pois no JBoss a anotação @EJB ainda não foi implementada.
No JBoss, você vai ter que usar a chamada via JNDI. (lookup)
Agora se você usar o Glassfish ou o Sun Application Server funciona blz.

Espero ter ajudado
[]s


Olá,
Desculpa, mas a annotation @EJB no JBoss foi implementada sim. Tanto que ela está empacotada num dos jars que acompanham o JBoss (jboss-ejb3-all-2004-04-17.jar).
Mas obrigado por ter respondido. Se você tiver outra sugestão será de grande valia.
Abraço

Sávio Barros

saviobarr

lavh:
lavh:
brunolinsalves:
Olá saviobarr,

Está dando erro, pois no JBoss a anotação @EJB ainda não foi implementada.
No JBoss, você vai ter que usar a chamada via JNDI. (lookup)
Agora se você usar o Glassfish ou o Sun Application Server funciona blz.

Espero ter ajudado
[]s

Essa informação não confere! Uso JBoss e uso @EJB!

Não sei aonde está o erro nesse caso!

[]'s

ops…uma pista!

@EJB só funciona em classes que são gerenciadas pelo container, aparentemente essa sua classe CalculoDiferencialMB não está sendo gerenciada pelo container. Eu sei que outros EJBS e JMXs são gerenciados, agora quanto a coisas do JSF não sei dizer…

[]'s


Olá,
E como resolver isso? Como saber se CalculoDiferencialMB (cliente que está chamando o EJB) está sendo gerenciada pelo contêiner?
Abraços

Sávio

lmprates

Você terá de fazer um lookup utilizando JNDI (InitialContext , etc…)

[]'s

Jair_Rillo_Junior

Use lookup.
Tenho um exemplo utilizando Servlet, mas que você pode facilmente utilizar no seu JSF também.
http://jairrillo.wordpress.com/2008/04/25/example-of-ejb3-session-bean-using-eclipse-europa-and-jboss/

Criado 27 de julho de 2008
Ultima resposta 28 de jul. de 2008
Respostas 7
Participantes 5