EJB 3.1 problemas com injeção de classes que herdam da mesma

0 respostas
leonardobhbr

Bom dia !
Estou começando utilizar EJB 3.1 e estou tendo problemas com classes que herdam da mesma classe

import java.lang.reflect.ParameterizedType;
import javax.ejb.EJB;
import javax.ejb.Stateless;

public abstract class Service<DAO, Entidade>
{
	@EJB
	private DAOFactory	daoFactory;

	@SuppressWarnings("unchecked")
	public DAO getDAO()
	{
		return (DAO) daoFactory.getDAO((Class<Entidade>) ((ParameterizedType) getClass().getGenericSuperclass()).getActualTypeArguments()[1]);
	}
}
import java.util.List;
import javax.ejb.Stateless;

@Stateless
public class PermissaoService extends Service<PermissaoDAO, Permissao>
{
	public List<Permissao> findByMenu()
	{
		return getDAO().findByMenu();
	}
}
import java.util.List;

public class LoginService extends Service<UsuarioDAO, Usuario>
{
	
}

O meu problema e que nao consigo injetar minha classe direta so consigo se eu criar uma interface para cada classe

Ex:

@ManagedBean(name = "permissaoBean")
@RequestScoped
public class PermissaoBean
{
	@EJB()
	private PermissaoService	service;
	@EJB
	private LoginService			service1;
}

Ocorre o seguinte erro

javax.servlet.ServletException: Não é possível criar instância para·a classe
Criado 10 de maio de 2011
Respostas 0
Participantes 1