Pessoal, estou com um erro grave em um aplicação que está em produção, é um sistema de noticias de um portal, acontece que por vezes a aplicação gera um erro durante seu processamento, um erro por exemplo de acesso ao banco de dados ao buscar uma notica, no entanto, a partir dai, de um primeiro erro, a aplicação começa a ficar super instavel, não carregando mais todas as noticias para o site, carrega alguma e outras ela lança uma exceção sempre baseada na seguinte causa:
Uso hibernate
Alguém imagina o que pode estar vindo a acontecer, acreditava eu que possivelmente ao gerar este primeiro erro eu nao estava dando um commit ou roolback na transação, no entanto, eu tenho um filter para toda a aplicação que garante que que uma dessas operações sejam executadas, conforme voces podem ver abaixo:
//controlando transação
Session session = null;
Transaction tx = null;
try {
if (request instanceof HttpServletRequest){
session = GenericHibernateDAO.getInstance().getSession();
tx = session.beginTransaction();
logger.debug("Iniciando Transação");
request.setAttribute("HibernateTransaction", tx);
request.setAttribute("HibernateSession", session);
}
chain.doFilter(httpServletRequest, response);
} catch (Exception e) {
tx.rollback();
}finally{
try {
if(!tx.wasRolledBack())
tx.commit();
GenericHibernateDAO.getInstance().closeSession();
} catch (HibernateException e) {
e.printStackTrace();
}
}
Alguem imagina o que pode ser?
