2
respostas

Dúvida Configuração CDI com o VRaptor

Nâo estou conseguindo fazer a injeção do EntityManager no Produto Dao. O eclipse apresenta a seguinte mensagem de erro no construtor:No bean is eligible for injection to the injection point [JSR-346 §5.2.2] Alías, ele dá essa mensagem sempre que eu tento fazer uma injeção.

Quando eu subo o servidor está aparecendo o seguinte erro grave: GRAVE: Exception sending context initialized event to listener instance of class [org.jboss.weld.environment.servlet.Listener] org.jboss.weld.exceptions.DeploymentException: WELD-001408: Unsatisfied dependencies for type EntityManager with qualifiers @Default at injection point [BackedAnnotatedParameter] Parameter 1 of [BackedAnnotatedConstructor] @Inject public br.com.caelum.vraptor.dao.ProdutoDao(EntityManager) at br.com.caelum.vraptor.dao.ProdutoDao.(ProdutoDao.java:0)

Acho que é algum problema de configuração no CDI do projeto. Já dei uma olhada no beans.xml que está dentro da pasta META-INF. O discovery mode está certo: <beans bean-discovery-mode="all" version="1.1"

Já cansei de pesquisar e não resolvi o problema. Se alguém puder ajudar ficarei muito grato.

2 respostas

Descobri como resolver. A classe ProdutoDao precisa ter a anotação @Named para que o CDI possa criar em seu repositório de dependências a referência para esse objeto através do nome da classe.

Olá Vitor,

chegou a ter mais algum outro problema com a injeção? Ou já posso fechar esta dúvida no fórum?

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software