[quote=FoxMurder][quote=maior_abandonado][quote=FoxMurder][quote=maior_abandonado]seu ejb é 3.0 certo? até por que no jboss 6 você não vai ter ejb 3.1… sendo assim você precisa que o seu ejb implemente alguma interface que esteja anotada com @Local ou @Remote, esse não é o caso da classe CursoEJB, como está a AbstractEJB ? poste ela.
a proposito, o tipo que é injetado no managed bean, eu normalmente usava o tipo da interface que eu falei, não o da implementação, de repente até funciona mas ai não tenho certeza, também pode ser isso… mude o tipo injetado no managed bean para o tipo da interface.[/quote]
Meu Abstract:
[code]
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.persistence.Query;
import domain.entity.IEntity;
public abstract class AbstractEJB implements IEJB {
private static final long serialVersionUID = 2L;
@PersistenceContext
protected EntityManager entityManager;
[/code][/quote]
e a IEJB ??? está anotada com as anotações que eu disse?[/quote]
Opa maior_abandonado, olha o meu código do IEJB:
[code]
import java.io.Serializable;
import java.util.List;
import javax.persistence.EntityManager;
import domain.entity.IEntity;
public interface IEJB extends Serializable {
IEntity obterID(long id);
[/code][/quote]
então parece que está descoberto o motivo… no EJB 3.0, um session bean consiste em uma classe anotada com @Statefull ou @Stateless (seu caso) que implementa alguma interface anotada com @Local ou @Remote… essa ultima parte você não fez…
faça o seguinte para funcionar:
crie uma interface chamada ICursoEJB (ou outro nome de sua preferencia, usei esse por que parece ser o padrão que você está usando de colocar o “I” no começo), coloque nela todos os métodos de CursoEJB que você irá querer disponibilizar para ser acessado (imagino que todos os existentes);
anote a interface ICursoEJB com @Remote ou com @Local caso seu EJB somente seja acessado de dentro do mesmo EAR;
Faça a classe CursoEJB implementar ICursoEJB;
altere o tipo do atributo “ejb” no managed bean de CursoEJB para ICursoEJB;
acredito que isso seja o suficiente para funcionar.