Galera,
Estou tentando usar o CDI com Tomcat 8, e já segui vários tutoriais mas nada funciona.
O Tomcat sobe sem erro mas não injeta a dependência.
Seguem as duas classes principais:
@Named
@ApplicationScoped
public class EntityManagerProducer {
private static EntityManagerFactory factory = Persistence.createEntityManagerFactory("condominio_db");
@Produces
@RequestScoped
public EntityManager createEntityManager() {
return factory.createEntityManager();
}
public void closeEntityManager(@Disposes EntityManager manager) {
manager.close();
}
@Produces
@RequestScoped
public Session createSession() {
return createEntityManager().unwrap(Session.class);
}
public void closeSession(@Disposes Session session) {
session.close();
}
}
e a consumidora:
package br.com.qualig.condominio.dao;
import java.io.Serializable;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.Hashtable;
import java.util.List;
import javax.inject.Inject;
import javax.inject.Named;
import javax.persistence.EntityManager;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.hibernate.CacheMode;
import org.hibernate.Criteria;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.Transaction;
import org.hibernate.criterion.Criterion;
import org.hibernate.criterion.Order;
import org.hibernate.criterion.ProjectionList;
import org.hibernate.criterion.Projections;
import org.hibernate.criterion.Restrictions;
import org.hibernate.exception.ConstraintViolationException;
import org.hibernate.exception.GenericJDBCException;
import org.hibernate.resource.transaction.spi.TransactionStatus;
import org.hibernate.transform.Transformers;
import br.com.qualig.condominio.exception.CondominioDataBaseConnectionException;
import br.com.qualig.condominio.model.interfaces.CommonModelBean;
import br.com.qualig.condominio.service.ConfigService;
@Named
public class GenericDao<T extends CommonModelBean<?>> implements DaoInterFace<T>, Serializable {
private static final long serialVersionUID = 5266647856302878067L;
@Inject
private EntityManager manager;
@Inject
private Session session;