I have a similar problem:
- Only one spring context
- Have openSessionInView filter
- Single session is set to true
- problems happens in the very same request (no conversation)
- openSessionInView is in the stack
The extrange thing:
- Sometimes it works :/
Current versions
- Java 1.5.0.12
- Spring 2.5.1
- Hibernate 3.3.1GA
- DB is Sybase SQL Anywhere 9.0.2
Sorry
phen0m, but I have to disagree with you,
rizbert's stack is very clear, only one request (http-8080-exec-4), hence your answer does not help this time.
In my case, only the service/business layer is inside a transaction, JSP does not. But (I repeat) it is very extrange since LIE happens the 50% of the time (bug?)
Code:
<aop:config proxy-target-class="true">
<aop:pointcut id="serviceGeneralAop" expression="execution(* com.osg.chops.shipboard.service.*Service.*(..))" />
<aop:advisor advice-ref="txAdvice" pointcut-ref="serviceGeneralAop" />
</aop:config>
Here is my stack trace... the first line denotes getting out from the controller and going to the view (via dispatch to a JSP). Domain objects retrieved through hibernate are available through an Action object bounded to the request thread (like in webworks)
Please note that everything happens in the same thread/request, and that among all the lazy objects some of them are being properly initialized until the expection comes...
Code:
DEBUG http-8080-3 29:15,187 -> com.chops.framework.control.web.RequestProcessor com.chops.framework.control.web.RequestProcessor.processRequest(RequestProcessor.java:122) -> Exit processRequest(...)
DEBUG http-8080-3 29:15,218 -> org.hibernate.impl.SessionImpl org.hibernate.impl.SessionImpl.immediateLoad(SessionImpl.java:859) -> initializing proxy: [com.osg.chops.shipboard.domain.PositionDetailsPort#component[companyId,shipId,keyPosition]{companyId=1, shipId=145, keyPosition=515478}]
DEBUG http-8080-3 29:15,218 -> org.hibernate.impl.SessionImpl org.hibernate.impl.SessionImpl.immediateLoad(SessionImpl.java:859) -> initializing proxy: [com.osg.chops.shipboard.domain.PositionDetailsPort#component[companyId,shipId,keyPosition]{companyId=1, shipId=145, keyPosition=515478}]
DEBUG http-8080-3 29:15,218 -> org.hibernate.impl.SessionImpl org.hibernate.impl.SessionImpl.immediateLoad(SessionImpl.java:859) -> initializing proxy: [com.osg.chops.shipboard.domain.Cargo#component[companyId,cargoId]{companyId=1, cargoId=130}]
DEBUG http-8080-3 29:15,218 -> org.hibernate.impl.SessionImpl org.hibernate.impl.SessionImpl.immediateLoad(SessionImpl.java:859) -> initializing proxy: [com.osg.chops.shipboard.domain.Cargo#component[companyId,cargoId]{companyId=1, cargoId=130}]
DEBUG http-8080-3 29:15,218 -> org.hibernate.impl.SessionImpl org.hibernate.impl.SessionImpl.immediateLoad(SessionImpl.java:859) -> initializing proxy: [com.osg.chops.shipboard.domain.Cargo#component[companyId,cargoId]{companyId=1, cargoId=40}]
DEBUG http-8080-3 29:15,218 -> org.hibernate.impl.SessionImpl org.hibernate.impl.SessionImpl.immediateLoad(SessionImpl.java:859) -> initializing proxy: [com.osg.chops.shipboard.domain.Cargo#component[companyId,cargoId]{companyId=1, cargoId=40}]
DEBUG http-8080-3 29:15,234 -> org.hibernate.impl.SessionImpl org.hibernate.impl.SessionImpl.immediateLoad(SessionImpl.java:859) -> initializing proxy: [com.osg.chops.shipboard.domain.Cargo#component[companyId,cargoId]{companyId=1, cargoId=382}]
DEBUG http-8080-3 29:15,234 -> org.hibernate.impl.SessionImpl org.hibernate.impl.SessionImpl.immediateLoad(SessionImpl.java:859) -> initializing proxy: [com.osg.chops.shipboard.domain.Cargo#component[companyId,cargoId]{companyId=1, cargoId=382}]
DEBUG http-8080-3 29:15,234 -> org.hibernate.impl.SessionImpl org.hibernate.impl.SessionImpl.immediateLoad(SessionImpl.java:859) -> initializing proxy: [com.osg.chops.shipboard.domain.Cargo#component[companyId,cargoId]{companyId=1, cargoId=163}]
DEBUG http-8080-3 29:15,234 -> org.hibernate.impl.SessionImpl org.hibernate.impl.SessionImpl.immediateLoad(SessionImpl.java:859) -> initializing proxy: [com.osg.chops.shipboard.domain.Cargo#component[companyId,cargoId]{companyId=1, cargoId=163}]
DEBUG http-8080-3 29:15,234 -> org.hibernate.impl.SessionImpl org.hibernate.impl.SessionImpl.immediateLoad(SessionImpl.java:859) -> initializing proxy: [com.osg.chops.shipboard.domain.Cargo#component[companyId,cargoId]{companyId=1, cargoId=363}]
DEBUG http-8080-3 29:15,234 -> org.hibernate.impl.SessionImpl org.hibernate.impl.SessionImpl.immediateLoad(SessionImpl.java:859) -> initializing proxy: [com.osg.chops.shipboard.domain.Cargo#component[companyId,cargoId]{companyId=1, cargoId=363}]
DEBUG http-8080-3 29:15,234 -> org.hibernate.impl.SessionImpl org.hibernate.impl.SessionImpl.immediateLoad(SessionImpl.java:859) -> initializing proxy: [com.osg.chops.shipboard.domain.Event#component[companyId,eventId]{eventId=21, companyId=1}]
DEBUG http-8080-3 29:15,234 -> org.hibernate.impl.SessionImpl org.hibernate.impl.SessionImpl.immediateLoad(SessionImpl.java:859) -> initializing proxy: [com.osg.chops.shipboard.domain.Event#component[companyId,eventId]{eventId=21, companyId=1}]
DEBUG http-8080-3 29:15,250 -> org.hibernate.impl.SessionImpl org.hibernate.impl.SessionImpl.immediateLoad(SessionImpl.java:859) -> initializing proxy: [com.osg.chops.shipboard.domain.Event#component[companyId,eventId]{eventId=13, companyId=1}]
DEBUG http-8080-3 29:15,250 -> org.hibernate.impl.SessionImpl org.hibernate.impl.SessionImpl.immediateLoad(SessionImpl.java:859) -> initializing proxy: [com.osg.chops.shipboard.domain.Event#component[companyId,eventId]{eventId=13, companyId=1}]
DEBUG http-8080-3 29:15,281 -> org.hibernate.impl.SessionImpl org.hibernate.impl.SessionImpl.immediateLoad(SessionImpl.java:859) -> initializing proxy: [com.osg.chops.shipboard.domain.PositionDetailsPort#component[companyId,shipId,keyPosition]{companyId=1, shipId=145, keyPosition=514145}]
DEBUG http-8080-3 29:15,281 -> org.hibernate.impl.SessionImpl org.hibernate.impl.SessionImpl.immediateLoad(SessionImpl.java:859) -> initializing proxy: [com.osg.chops.shipboard.domain.PositionDetailsPort#component[companyId,shipId,keyPosition]{companyId=1, shipId=145, keyPosition=514145}]
DEBUG http-8080-3 29:15,343 -> org.hibernate.impl.SessionImpl org.hibernate.impl.SessionImpl.immediateLoad(SessionImpl.java:859) -> initializing proxy: [com.osg.chops.shipboard.domain.PositionDetailsPort#component[companyId,shipId,keyPosition]{companyId=1, shipId=145, keyPosition=515739}]
DEBUG http-8080-3 29:15,343 -> org.hibernate.impl.SessionImpl org.hibernate.impl.SessionImpl.immediateLoad(SessionImpl.java:859) -> initializing proxy: [com.osg.chops.shipboard.domain.PositionDetailsPort#component[companyId,shipId,keyPosition]{companyId=1, shipId=145, keyPosition=515739}]
DEBUG http-8080-3 29:15,500 -> org.hibernate.impl.SessionImpl org.hibernate.impl.SessionImpl.disconnect(SessionImpl.java:401) -> disconnecting session
DEBUG http-8080-3 29:15,500 -> org.hibernate.impl.SessionImpl org.hibernate.impl.SessionImpl.disconnect(SessionImpl.java:401) -> disconnecting session
DEBUG http-8080-3 29:15,531 -> org.hibernate.impl.SessionImpl org.hibernate.impl.SessionImpl.disconnect(SessionImpl.java:401) -> disconnecting session
DEBUG http-8080-3 29:15,531 -> org.hibernate.impl.SessionImpl org.hibernate.impl.SessionImpl.disconnect(SessionImpl.java:401) -> disconnecting session
DEBUG http-8080-3 29:15,546 -> org.hibernate.impl.SessionImpl org.hibernate.impl.SessionImpl.disconnect(SessionImpl.java:401) -> disconnecting session
DEBUG http-8080-3 29:15,546 -> org.hibernate.impl.SessionImpl org.hibernate.impl.SessionImpl.disconnect(SessionImpl.java:401) -> disconnecting session
DEBUG http-8080-3 29:15,562 -> org.hibernate.impl.SessionImpl org.hibernate.impl.SessionImpl.disconnect(SessionImpl.java:401) -> disconnecting session
DEBUG http-8080-3 29:15,562 -> org.hibernate.impl.SessionImpl org.hibernate.impl.SessionImpl.disconnect(SessionImpl.java:401) -> disconnecting session
DEBUG http-8080-3 29:15,593 -> org.hibernate.impl.SessionImpl org.hibernate.impl.SessionImpl.disconnect(SessionImpl.java:401) -> disconnecting session
DEBUG http-8080-3 29:15,593 -> org.hibernate.impl.SessionImpl org.hibernate.impl.SessionImpl.disconnect(SessionImpl.java:401) -> disconnecting session
DEBUG http-8080-3 29:15,609 -> org.hibernate.impl.SessionImpl org.hibernate.impl.SessionImpl.disconnect(SessionImpl.java:401) -> disconnecting session
DEBUG http-8080-3 29:15,609 -> org.hibernate.impl.SessionImpl org.hibernate.impl.SessionImpl.disconnect(SessionImpl.java:401) -> disconnecting session
DEBUG http-8080-3 29:15,609 -> org.hibernate.impl.SessionImpl org.hibernate.impl.SessionImpl.disconnect(SessionImpl.java:401) -> disconnecting session
DEBUG http-8080-3 29:15,609 -> org.hibernate.impl.SessionImpl org.hibernate.impl.SessionImpl.disconnect(SessionImpl.java:401) -> disconnecting session
DEBUG http-8080-3 29:15,625 -> org.hibernate.impl.SessionImpl org.hibernate.impl.SessionImpl.disconnect(SessionImpl.java:401) -> disconnecting session
DEBUG http-8080-3 29:15,625 -> org.hibernate.impl.SessionImpl org.hibernate.impl.SessionImpl.disconnect(SessionImpl.java:401) -> disconnecting session
ERROR http-8080-3 29:15,656 -> org.hibernate.LazyInitializationException org.hibernate.LazyInitializationException.<init>(LazyInitializationException.java:42) -> failed to lazily initialize a collection of role: com.osg.chops.shipboard.domain.TerminalDetails.terminalCargos, no session or session was closed
org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role: com.osg.chops.shipboard.domain.TerminalDetails.terminalCargos, no session or session was closed
at org.hibernate.collection.AbstractPersistentCollection.throwLazyInitializationException(AbstractPersistentCollection.java:380)
at org.hibernate.collection.AbstractPersistentCollection.throwLazyInitializationExceptionIfNotConnected(AbstractPersistentCollection.java:372)
at org.hibernate.collection.AbstractPersistentCollection.initialize(AbstractPersistentCollection.java:365)
at org.hibernate.collection.AbstractPersistentCollection.read(AbstractPersistentCollection.java:108)
at org.hibernate.collection.PersistentMap.values(PersistentMap.java:257)
at ognl.MapPropertyAccessor.getProperty(MapPropertyAccessor.java:71)
at com.chops.framework.ognl.accessor.OsgMapPropertyAccessor.getProperty(OsgMapPropertyAccessor.java:38)
at ognl.OgnlRuntime.getProperty(OgnlRuntime.java:2210)
at ognl.ASTProperty.getValueBody(ASTProperty.java:114)
at ognl.SimpleNode.evaluateGetValueBody(SimpleNode.java:212)
at ognl.SimpleNode.getValue(SimpleNode.java:258)
at ognl.ASTChain.getValueBody(ASTChain.java:138)
at ognl.SimpleNode.evaluateGetValueBody(SimpleNode.java:212)
at ognl.SimpleNode.getValue(SimpleNode.java:258)
at ognl.Ognl.getValue(Ognl.java:494)
at ognl.Ognl.getValue(Ognl.java:458)
at com.chops.framework.ognl.OgnlUtil.getValue(OgnlUtil.java:188)
at com.chops.framework.ognl.OgnlValueStack.findValue(OgnlValueStack.java:226)
at com.chops.framework.taglib.BaseBodyTagSupport.findValue(BaseBodyTagSupport.java:260)
at com.chops.framework.taglib.IteratorTag.doStartTag(IteratorTag.java:44)
at org.apache.jsp.jsp.ipCargoTerminalCargoes_jsp._jspx_meth_ui_005fiterator_005f0(ipCargoTerminalCargoes_jsp.java:672)
at org.apache.jsp.jsp.ipCargoTerminalCargoes_jsp._jspService(ipCargoTerminalCargoes_jsp.java:193)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:384)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:687)
at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:590)
at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:505)
at org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:968)
at org.apache.jsp.jsp.ipCargo_jsp._jspx_meth_ui_005fiterator_005f0(ipCargo_jsp.java:339)
at org.apache.jsp.jsp.ipCargo_jsp._jspService(ipCargo_jsp.java:135)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:384)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:687)
at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:590)
at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:505)
at org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:968)
at org.apache.jsp.jsp.opInport_jsp._jspService(opInport_jsp.java:79)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:384)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:687)
at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:590)
at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:505)
at org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:968)
at org.apache.jsp.jsp.shipHome_005fKeyPositionsDetail_jsp._jspService(shipHome_005fKeyPositionsDetail_jsp.java:114)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:384)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:687)
at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:590)
at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:505)
at org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:968)
at org.apache.jsp.jsp.shipHome_jsp._jspx_meth_ui_005fform_005f0(shipHome_jsp.java:1081)
at org.apache.jsp.jsp.shipHome_jsp._jspService(shipHome_jsp.java:147)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:384)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:687)
at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:469)
at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:403)
at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301)
at com.chops.framework.control.web.resultypes.DispatResultType.execute(DispatResultType.java:20)
at com.chops.framework.control.web.MainServlet.dispatchResponse(MainServlet.java:222)
at com.chops.framework.control.web.MainServlet.innerProcess(MainServlet.java:199)
at com.chops.framework.control.web.MainServlet.doGet(MainServlet.java:164)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.osg.chops.shipboard.web.filter.ChopsRequestFilter.doFilter(ChopsRequestFilter.java:43)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:228)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:216)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:634)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:445)
at java.lang.Thread.run(Thread.java:595)
It is very very extrange... if someone can give some light on the matter, thanks in advance
Mamana