Wakky
Abril 20, 2008, 6:45pm
#1
Galera estou com um problema no EJB3
NetBeans6
GlassfishV2
[code]
public interface StatelessSession {
public String sayHello(String name);
}[/code]
@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
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
Wakky
Abril 21, 2008, 1:42pm
#3
Cara vc podia passar esse trecho de código?
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.
[code]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());
}
}
} [/code]
Wakky
Abril 22, 2008, 6:01am
#5
:oops:
Pois… de onde pego o [quote]EJBLocator[/quote]?
Eh primeira vez que tou mexendo EJBs e como me estava guiando por um tutorial tou meio confuso…