Pessoal,
sou iniciante em JEE, e tenho problema com o cliente EJB de uma aplicação que estou fazendo. Quando tento executar a classe teste do EJB recebo a mensagem ‘Exception in thread “main” java.lang.NullPointerException’…
estou usando netBeans 5.5 e Sun Java System Application Server edition 9.0.
interface :
package session;
import javax.ejb.Remote;
import java.util.Date;
import session.GerenteUsuarios;
@Remote
public interface GerenteUsuariosRemote {
public void cadastraPaciente(String nome, String telefone, String email);
public Integer buscarUsuario(String nome);
public void cadastraMedico(String nome,String email,String crm);
public void excluirUsuario(Integer id);
}
session:
package session;
import javax.ejb.Stateless;
import org.hibernate.Query;
import org.hibernate.Criteria;
import org.hibernate.criterion.Expression;
import org.hibernate.criterion.Order;
@Stateless
public class GerenteUsuarios implements GerenteUsuariosRemote {
// ... implementação dos métodos da interface...
}
classe de teste:
package gerenteusuariosteste;
import session.GerenteUsuariosRemote;
import javax.ejb.EJB;
import java.util.Date;
public class Teste {
@EJB
private static GerenteUsuariosRemote gerente;
public Teste(String[] args){
}
public static void main(String[] args){
Teste testador = new Teste(args);
testador.gerente.buscarUsuario("julia");
}
}
mensagem que recebo:
Exception in thread "main" java.lang.NullPointerException
at gerenteusuariosteste.Teste.main(Teste.java:49)
Java Result: 1
Se eu fizer um import de session.GerenteUsuarios na classe Teste e modificar o construtor para gerente = new GerenteUsuarios() tudo funciona como esperado… mas eu não deveria precisar fazer esse import, né ?
Enfim, como devo referenciar o EJB na classe teste ?