HTTP Status 500 - Filter

Senhores, sou iniciante e to com esse impasse para configuração da persistencia utilizando filter, coloquei alguns flags e o código corre normalmente, porém sempre lança a exceção erro HTTP 500. Se alguem puder ajudar com o erro, ou conhecer uma outra forma de configurar essa classe, conto com a ajuda de voces!

Segue a pagina de exceção:

[code]type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

javax.servlet.ServletException: javax.servlet.ServletException
com.financeiro.web.filter.ConexaoHibernateFilter.doFilter(ConexaoHibernateFilter.java:48)

root cause

javax.servlet.ServletException
javax.faces.webapp.FacesServlet.service(FacesServlet.java:606)
com.financeiro.web.filter.ConexaoHibernateFilter.doFilter(ConexaoHibernateFilter.java:34)

root cause

java.lang.StackOverflowError
java.util.concurrent.ConcurrentHashMap.get(Unknown Source)
com.sun.faces.util.ExpiringConcurrentCache.get(ExpiringConcurrentCache.java:95)
com.sun.faces.facelets.impl.DefaultFaceletCache.getFacelet(DefaultFaceletCache.java:117)
com.sun.faces.facelets.impl.DefaultFaceletCache.getFacelet(DefaultFaceletCache.java:58)
com.sun.faces.facelets.impl.DefaultFaceletFactory.getFacelet(DefaultFaceletFactory.java:256)
com.sun.faces.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:378)
com.sun.faces.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:358)
com.sun.faces.facelets.impl.DefaultFaceletContext.includeFacelet(DefaultFaceletContext.java:199)
com.sun.faces.facelets.tag.ui.CompositionHandler.apply(CompositionHandler.java:155)
com.sun.faces.facelets.compiler.NamespaceHandler.apply(NamespaceHandler.java:93)
com.sun.faces.facelets.compiler.EncodingHandler.apply(EncodingHandler.java:87)
etc…[/code]

Segue a classe de captura que implementa Filter:

[code]public class ConexaoHibernateFilter implements Filter {

private SessionFactory	sf;

public void init(FilterConfig config) throws ServletException {
	this.sf = HibernateUtil.getSessionFactory();
}

public void destroy() {
}

public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain chain) throws ServletException {

	try {

		this.sf.getCurrentSession().beginTransaction();

		chain.doFilter(servletRequest, servletResponse);

		this.sf.getCurrentSession().getTransaction().commit();
		this.sf.getCurrentSession().close();
		System.out.println("Passei por aqui");
	} catch (Throwable ex) {
		try {
			if (this.sf.getCurrentSession().getTransaction().isActive()) {
				this.sf.getCurrentSession().getTransaction().rollback();
			}
		} catch (Throwable t) {
			t.printStackTrace();
			System.out.println(t.getMessage());
		}
		throw new ServletException(ex);
		
	}
}

}[/code]

Classe com metodos de conexão do Hibernate:

[code]public class HibernateUtil {

private static final SessionFactory	sessionFactory	= buildSessionFactory();

private static SessionFactory buildSessionFactory() {
	try {
		AnnotationConfiguration cfg = new AnnotationConfiguration();
		cfg.configure("hibernate.cfg.xml");
		return cfg.buildSessionFactory();
	} catch (Throwable e) {
		System.out.println("Criação inicial do objeto SessionFactory falhou. Erro: " + e);
		throw new ExceptionInInitializerError(e);
	}
} 

public static SessionFactory getSessionFactory() {
	return sessionFactory;
}

}[/code]
Nota que as linhas apontadas na exceção são:

e

A configuração do web.xml está correta pois consigo visualizar os flags na hora da requisição… Qualquer ajuda será bem vinda!