Olá, eu possuo um projeto enterprise que consiste em um projeto web e um ejb.
Em meu cdi bean com escopo de sessão, localizado no projeto web, possuo o seguinte método producer:
@Named
@SessionScoped
public class AlunoController implements Serializable {
@Inject @DadoAcademico
private DadosAcademicos aluno;
@Inject
private DadosAcademicosFacade dadosAcademicosFacade;
@Produces @DadoAcademico
public DadosAcademicos generateDadoAcademico() {
return dadosAcademicosFacade.findAluno(new Long(FacesContext.getCurrentInstance().getExternalContext().getRemoteUser()));
}
}
Como vcs podem ver ele invoca o método findAluno do session bean dadosAcademicosFacade, que está no projeto EJB, porém é nesse ponto que pego uma NullPointerException, pois dadosAcademicosFacade está nulo.
Meu session bean:
@Stateless
public class DadosAcademicosFacade {
@Inject @Web2Database
private EntityManager em;
public DadosAcademicos findAluno(Long numMatricula) {
return (DadosAcademicos) em.createNamedQuery("DadosAcademicos.findAlunoReduzido").setParameter("numMatricula", numMatricula).getSingleResult();
}
}
Por acaso não posso acessar session bean dentro de métodos producers?