NullPointerException EJB3

4 respostas
W
Galera estou com um problema no EJB3 NetBeans6 GlassfishV2
public interface StatelessSession {

    public String sayHello(String name);
    
}
@Stateless
public class StatelessSessionBean
    implements StatelessSession {

    public String sayHello(String name) {
        return "Hello, " + name + "!\n";
    }  
}
public class Teste {
    @EJB
    private static StatelessSession sless;

    public Teste() {
        teste();
    }

    private void teste() {
        try{
        System.err.println("say: " + sless.sayHello("rui"));
        }
        catch (Exception ex){
            System.err.println("badNews - "+ex.toString());
        }
    }
}
Erro causado:
Caused by: java.lang.NullPointerException

Obrigado

4 Respostas

rafachies

Cara, não sou muito expert em EJB. Porém, acho que, como sua classe “Teste” não é um EJB, você não pode fazer uma injeção automática do seu EJB StateLessSession. Acho que é necessário você fazer o lookup dele antes de usá-lo.

sless = EJBLocator.lookupLocal(StatelessSessionBean.class); sless.sayHello("rui");

Se estiver errado alguém me corrija please !

[]'s

W

Cara vc podia passar esse trecho de código?

rafachies

Cara onde eu estou no momento aqui nao tenho fazer isso no eclipse e te mandar, mas creio que seja deste modo que coloquei abaixo.

public class Teste {  
     private static StatelessSession sless;   //nao e necessaria a Annotation EJB se nao for fazer injecao direta
   
     public Teste() {  
         teste();  
     }  
   
     private void teste() {  
         try{  
         sless = EJBLocator.lookupLocal(StatelessSessionBean.class)
         System.err.println("say: " + sless.sayHello("rui"));  
         }  
         catch (Exception ex){  
             System.err.println("badNews - "+ex.toString());  
         }  
     }  
 }
W

:oops:
Pois… de onde pego o

EJBLocator
?

Eh primeira vez que tou mexendo EJBs e como me estava guiando por um tutorial tou meio confuso…

Criado 20 de abril de 2008
Ultima resposta 22 de abr. de 2008
Respostas 4
Participantes 2