Session is closed!

6 respostas
Paulo_Carvalho

Alguem pode decodificar essa mensagem? Consigo gerar o relatorio jasper mas sempre dá esse erro.

SEVERE: Servlet.service() for servlet default threw exception

org.hibernate.SessionException: Session is closed!

at org.hibernate.impl.AbstractSessionImpl.errorIfClosed(AbstractSessionImpl.java:49)

at org.hibernate.impl.SessionImpl.clear(SessionImpl.java:253)

at br.gov.pa.tj.processo.util.interceptors.HibernateInterceptor.intercept(HibernateInterceptor.java:32)

at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:224)

at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:223)

6 Respostas

joede.fadel

poste o seu código só com essa mensgem de erro fica dificil saber o que está ocorrendo

otavio

Quando você uma Hibernate, a cada objeto que você usa, na verdade é um proxy fazendo um link para a Session do Hibernate.

Se eu fizer um load, por exemplo, de um objeto, esse objeto na verdade não é pesquisado no banco na hora, o hibernate apenas me retorna um proxy, e quando eu fizer algum get de alguma propriedade do objeto, aí o Hibernate usa esse link com a Session para realmente buscar o objeto na base de dados. Mais informações sobre isso você pode encontrar na documentação, tópico Lazy Load.

Então o que acontece é que por alguma razão quando você for fazer algum get a sessão do Hibernate já está fechada.

Para ajudar a resolver precisamos entender teu ambiente. Tem Spring? EJB? JPA? Hibernate?

Anderson_Leite

É isso mesmo que o otavio falou, o hibernate te delega um proxy managed que só dura enquanto a session está ativa.
Olhe o padrão Open Session In View, deve resolver seu problema.

otavio

Anderson Leite:
É isso mesmo que o otavio falou, o hibernate te delega um proxy managed que só dura enquanto a session está ativa.
Olhe o padrão Open Session In View, deve resolver seu problema.

Exato. Por isso perguntei a ele o que está sendo usado no projeto, pois com Spring (por exemplo) há um filter que já faz esse trabalho, assim como outros frameworks.

Paulo_Carvalho

estou trabalhando com struts 2 + hibernate + banco Oracle.

MarcolaLipe10

Já que o topico ainda não esta fechado …

O meu tbm está dando isso , sendo que eu uso filtro para jsf …

E eu to fazendo persistencia sem ultilizar a jsf , fazendo persistencia pelo quartz …

Criado 13 de fevereiro de 2009
Ultima resposta 30 de dez. de 2013
Respostas 6
Participantes 5