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 dá 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
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.
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[/quote]
Essa informação não confere! Uso JBoss e uso @EJB!
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[/quote]
Essa informação não confere! Uso JBoss e uso @EJB!
Não sei aonde está o erro nesse caso!
[]'s[/quote]
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…
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[/quote]
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
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[/quote]
Essa informação não confere! Uso JBoss e uso @EJB!
Não sei aonde está o erro nesse caso!
[]'s[/quote]
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[/quote]
Olá,
E como resolver isso? Como saber se CalculoDiferencialMB (cliente que está chamando o EJB) está sendo gerenciada pelo contêiner?
Abraços