Problemas com CDI + Tomat 8

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;

Boa tarde, tente o seguinte, clique com o direito em cima do projeto PROPERTIS > PROJECT FACETS e verifica se existe a opção CDI, se tiver marque ela e clique em Apply e de OK.

Não aparece, pois estou usando o Tomcat como servidor.

Consegui resolver esse meu primeiro problema, pois a minha aplicação está assim:
View -> Bean -> Service -> DAO

Não sei porque só consigo injetar algo no Bean, quando tento fazer o meso diretamente no Service não funciona. Sendo assim, recebo o EntityManager injetado no Bean e passo o mesmo para o construtor do Service que por sua vez passa para o DAO. Só dessa forma consegui resolver esse problema.

Agora estou com outro problema, pois ao incluir um registro novo eu populo um objeto que está no Bean, mas quando tento setar um atributo a partir de um p:selectOneMenu o objeto parece ser reiniciado e zera todos os campos preenchidos.

Já tentei e tudo e nada até o momento.