Estou tendo um problema muito esporadicamente no sistema que estou desenvolvendo, num determinado momento eu recebo o seguinte erro:
[code]javax.persistence.PersistenceException: org.hibernate.HibernateException: collection is not associated with any session
14:40:57,573 ERROR [stderr] (http–0.0.0.0-8091-5) at org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1361)
14:40:57,573 ERROR [stderr] (http–0.0.0.0-8091-5) at org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1289)
14:40:57,573 ERROR [stderr] (http–0.0.0.0-8091-5) at org.hibernate.ejb.QueryImpl.getResultList(QueryImpl.java:261)
14:40:57,573 ERROR [stderr] (http–0.0.0.0-8091-5) at br.com.tranship.sgi.repository.dao.impl.EmbarcacaoDAOImpl.listarRebocadores(EmbarcacaoDAOImpl.java:375)
14:40:57,573 ERROR [stderr] (http–0.0.0.0-8091-5) at br.com.tranship.sgi.service.impl.EmbarcacaoServiceImpl.listarRebocadores(EmbarcacaoServiceImpl.java:92)
14:40:57,573 ERROR [stderr] (http–0.0.0.0-8091-5) at br.com.tranship.sgi.controller.AutotracController.list(AutotracController.java:100)
14:40:57,573 ERROR [stderr] (http–0.0.0.0-8091-5) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
14:40:57,573 ERROR [stderr] (http–0.0.0.0-8091-5) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
14:40:57,588 ERROR [stderr] (http–0.0.0.0-8091-5) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
14:40:57,588 ERROR [stderr] (http–0.0.0.0-8091-5) at java.lang.reflect.Method.invoke(Method.java:606)
14:40:57,588 ERROR [stderr] (http–0.0.0.0-8091-5) at br.com.caelum.vraptor.interceptor.ExecuteMethodInterceptor.intercept(ExecuteMethodInterceptor.java:61)
14:40:57,588 ERROR [stderr] (http–0.0.0.0-8091-5) at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
14:40:57,588 ERROR [stderr] (http–0.0.0.0-8091-5) at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54)
14:40:57,588 ERROR [stderr] (http–0.0.0.0-8091-5) at br.com.caelum.vraptor.core.LazyInterceptorHandler.execute(LazyInterceptorHandler.java:61)
14:40:57,588 ERROR [stderr] (http–0.0.0.0-8091-5) at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54)
14:40:57,588 ERROR [stderr] (http–0.0.0.0-8091-5) at br.com.tranship.sgi.util.vraptor.interceptor.ExceptionInterceptor.intercept(ExceptionInterceptor.java:40)
14:40:57,588 ERROR [stderr] (http–0.0.0.0-8091-5) at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
14:40:57,588 ERROR [stderr] (http–0.0.0.0-8091-5) at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54)
14:40:57,588 ERROR [stderr] (http–0.0.0.0-8091-5) at br.com.tranship.sgi.util.vraptor.interceptor.NoCacheInterceptor.intercept(NoCacheInterceptor.java:43)
14:40:57,588 ERROR [stderr] (http–0.0.0.0-8091-5) at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
14:40:57,588 ERROR [stderr] (http–0.0.0.0-8091-5) at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54)
14:40:57,588 ERROR [stderr] (http–0.0.0.0-8091-5) at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:56)
14:40:57,588 ERROR [stderr] (http–0.0.0.0-8091-5) at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54)
14:40:57,588 ERROR [stderr] (http–0.0.0.0-8091-5) at br.com.tranship.sgi.util.vraptor.interceptor.LoginInterceptor.intercept(LoginInterceptor.java:31)
14:40:57,588 ERROR [stderr] (http–0.0.0.0-8091-5) at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
14:40:57,588 ERROR [stderr] (http–0.0.0.0-8091-5) at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54)
14:40:57,588 ERROR [stderr] (http–0.0.0.0-8091-5) at br.com.caelum.vraptor.interceptor.FlashInterceptor.intercept(FlashInterceptor.java:83)
14:40:57,588 ERROR [stderr] (http–0.0.0.0-8091-5) at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
14:40:57,588 ERROR [stderr] (http–0.0.0.0-8091-5) at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54)
14:40:57,588 ERROR [stderr] (http–0.0.0.0-8091-5) at br.com.caelum.vraptor.interceptor.InstantiateInterceptor.intercept(InstantiateInterceptor.java:48)
14:40:57,588 ERROR [stderr] (http–0.0.0.0-8091-5) at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
14:40:57,588 ERROR [stderr] (http–0.0.0.0-8091-5) at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54)
14:40:57,588 ERROR [stderr] (http–0.0.0.0-8091-5) at br.com.caelum.vraptor.interceptor.ExceptionHandlerInterceptor.intercept(ExceptionHandlerInterceptor.java:71)
14:40:57,588 ERROR [stderr] (http–0.0.0.0-8091-5) at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
14:40:57,588 ERROR [stderr] (http–0.0.0.0-8091-5) at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54)
14:40:57,588 ERROR [stderr] (http–0.0.0.0-8091-5) at br.com.caelum.vraptor.core.LazyInterceptorHandler.execute(LazyInterceptorHandler.java:61)
14:40:57,588 ERROR [stderr] (http–0.0.0.0-8091-5) at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54)
14:40:57,588 ERROR [stderr] (http–0.0.0.0-8091-5) at br.com.caelum.vraptor.interceptor.ResourceLookupInterceptor.intercept(ResourceLookupInterceptor.java:69)
14:40:57,588 ERROR [stderr] (http–0.0.0.0-8091-5) at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54)
14:40:57,588 ERROR [stderr] (http–0.0.0.0-8091-5) at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54)
14:40:57,588 ERROR [stderr] (http–0.0.0.0-8091-5) at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:56)
14:40:57,588 ERROR [stderr] (http–0.0.0.0-8091-5) at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:54)
14:40:57,588 ERROR [stderr] (http–0.0.0.0-8091-5) at br.com.caelum.vraptor.core.EnhancedRequestExecution.execute(EnhancedRequestExecution.java:44)
14:40:57,588 ERROR [stderr] (http–0.0.0.0-8091-5) at br.com.caelum.vraptor.VRaptor$1.insideRequest(VRaptor.java:91)
14:40:57,588 ERROR [stderr] (http–0.0.0.0-8091-5) at br.com.caelum.vraptor.ioc.spring.SpringProvider.provideForRequest(SpringProvider.java:58)
14:40:57,588 ERROR [stderr] (http–0.0.0.0-8091-5) at br.com.caelum.vraptor.VRaptor.doFilter(VRaptor.java:88)
14:40:57,588 ERROR [stderr] (http–0.0.0.0-8091-5) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:280)
14:40:57,588 ERROR [stderr] (http–0.0.0.0-8091-5) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248)
14:40:57,588 ERROR [stderr] (http–0.0.0.0-8091-5) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:275)
14:40:57,588 ERROR [stderr] (http–0.0.0.0-8091-5) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161)
14:40:57,588 ERROR [stderr] (http–0.0.0.0-8091-5) at org.jboss.as.jpa.interceptor.WebNonTxEmCloserValve.invoke(WebNonTxEmCloserValve.java:50)
14:40:57,588 ERROR [stderr] (http–0.0.0.0-8091-5) at org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:153)
14:40:57,588 ERROR [stderr] (http–0.0.0.0-8091-5) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:155)
14:40:57,588 ERROR [stderr] (http–0.0.0.0-8091-5) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
14:40:57,588 ERROR [stderr] (http–0.0.0.0-8091-5) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
14:40:57,588 ERROR [stderr] (http–0.0.0.0-8091-5) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:368)
14:40:57,588 ERROR [stderr] (http–0.0.0.0-8091-5) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:877)
14:40:57,588 ERROR [stderr] (http–0.0.0.0-8091-5) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:671)
14:40:57,588 ERROR [stderr] (http–0.0.0.0-8091-5) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:930)
14:40:57,588 ERROR [stderr] (http–0.0.0.0-8091-5) at java.lang.Thread.run(Thread.java:724)
14:40:57,588 ERROR [stderr] (http–0.0.0.0-8091-5) Caused by: org.hibernate.HibernateException: collection is not associated with any session
14:40:57,588 ERROR [stderr] (http–0.0.0.0-8091-5) at org.hibernate.collection.internal.AbstractPersistentCollection.forceInitialization(AbstractPersistentCollection.java:484)
14:40:57,588 ERROR [stderr] (http–0.0.0.0-8091-5) at org.hibernate.engine.internal.StatefulPersistenceContext.initializeNonLazyCollections(StatefulPersistenceContext.java:906)
14:40:57,588 ERROR [stderr] (http–0.0.0.0-8091-5) at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:294)
14:40:57,588 ERROR [stderr] (http–0.0.0.0-8091-5) at org.hibernate.loader.Loader.doList(Loader.java:2463)
14:40:57,588 ERROR [stderr] (http–0.0.0.0-8091-5) at org.hibernate.loader.Loader.doList(Loader.java:2449)
14:40:57,588 ERROR [stderr] (http–0.0.0.0-8091-5) at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2279)
14:40:57,588 ERROR [stderr] (http–0.0.0.0-8091-5) at org.hibernate.loader.Loader.list(Loader.java:2274)
14:40:57,588 ERROR [stderr] (http–0.0.0.0-8091-5) at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:470)
14:40:57,588 ERROR [stderr] (http–0.0.0.0-8091-5) at org.hibernate.hql.internal.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:355)
14:40:57,588 ERROR [stderr] (http–0.0.0.0-8091-5) at org.hibernate.engine.query.spi.HQLQueryPlan.performList(HQLQueryPlan.java:196)
14:40:57,588 ERROR [stderr] (http–0.0.0.0-8091-5) at org.hibernate.internal.SessionImpl.list(SessionImpl.java:1115)
14:40:57,588 ERROR [stderr] (http–0.0.0.0-8091-5) at org.hibernate.internal.QueryImpl.list(QueryImpl.java:101)
14:40:57,588 ERROR [stderr] (http–0.0.0.0-8091-5) at org.hibernate.ejb.QueryImpl.getResultList(QueryImpl.java:252)
14:40:57,588 ERROR [stderr] (http–0.0.0.0-8091-5) … 57 more[/code]
Sendo que, ele pode acontecer a qualquer momento e em qualquer parte do sistema.
Pelo que eu sei esse erro só acontece quando tentamos recuperar uma lista lazy e uma sessão está fechada, já procurei em todas as classes e em nenhum momento acontece um session.close() ou entityManager.close(), alguém já passou por isso?
Estou usando o VRaptor 3.4.1 + JPA 2.0 + Hibernate 4 + JBoss 7.
Desde já agradeço a ajuda de todos.