Problema com método doFilter

Estou debugando meu código e descobri que do no método doFilter tem algum problema exatamente
No bloco try do método na linha chain.doFilter(servletRequest, servletResponse);
ela não é executada de forma alguma quando o debug chega na linha antereior(this.sessionFactory.getCurrentSession().beginTransaction():wink:
tudo certo, é executado, mas não passa disso.

Me ajudem por favor

[code]public class ConexaoHibernateFilter implements Filter {

private SessionFactory sessionFactory;

// executado somente quando o aplicativo web é colocado no ar.
@Override
public void init(FilterConfig filterConfig) throws ServletException {
	this.sessionFactory = HibernateUtil.getSessionFactory();

}

// interceptação requisição web
@Override
public void doFilter(ServletRequest servletRequest,
		ServletResponse servletResponse, FilterChain chain)
		throws ServletException {
	try {
		this.sessionFactory.getCurrentSession().beginTransaction();
		chain.doFilter(servletRequest, servletResponse);
		this.sessionFactory.getCurrentSession().getTransaction().commit();
		this.sessionFactory.getCurrentSession().close();

	} catch (Exception ex) {
		try {
			if (this.sessionFactory.getCurrentSession().getTransaction()
					.isActive()) {
				this.sessionFactory.getCurrentSession().getTransaction()
						.rollback();
			}

		} catch (Throwable t) {
			t.printStackTrace();
		}
		throw new ServletException(ex);
	}

}

// executado quando o aplicativo web é destivado do servidor
@Override
public void destroy() {

}

}[/code]

Ola, pelo que estou vendo o problema no seu código é que vc abre uma session somente no init() e a fecha no doFilter(), como vc mesmo disse o init() somente é executado uma vez, então quando vc abrir a primeira página logo que sua aplicação é colocada no ar tudo vai funcionar, mas nas página seguintes o doFilter() vai tentar usar uma session que está fechada,
Para corrigir esse erro vc tem que abrir uma session no doFilter().