Dobry den,
mam stranku news.yhtml, ktera zobrazuje data, ktera se dotahuji pres
hibernate pomoci OpenSessionInView filteru. Pokud si necham zobrazit
primo stranku "/new.yhtml" probehne vsechno v poradku. Pokud se ale na
tuto stranku necham presmerovat z index.jsp pomoci <jsp:forward
page="/news.yhtml" /> dostanu org.hibernate.LazyInitializationException
(pri <c:redirect url="news.yhtml"/> je opet vse v poradku). Tzn, ze
OpenSessionInView se pri jsp:forward neprovede. V mapovani filteru
pritom FORWARD uveden mam.
ve stacktrace zminka o tom, ze by kod presel pres OpenSessionInView take
neni, takze myslim, ze to bude problem v mapovani filteru, ale i kdyz
pridam dalsi filter-maping s <url-pattern>/</url-pattern> tak problem
zustava.
Poradi mi nekdo?
Diky
Petr
Odpovidajici casti konfigurace + stacktrace:
<filter>
<filter-name>OpenSessionInView</filter-name>
<filter-class>
org.springframework.orm.hibernate3.support.OpenSessionInViewFilter
</filter-class>
</filter>
<filter-mapping>
<filter-name>OpenSessionInView</filter-name>
<url-pattern>*.yhtml</url-pattern>
<dispatcher>FORWARD</dispatcher>
<dispatcher>REQUEST</dispatcher>
</filter-mapping>
<filter-mapping>
<filter-name>OpenSessionInView</filter-name>
<url-pattern>/</url-pattern>
<dispatcher>FORWARD</dispatcher>
<dispatcher>REQUEST</dispatcher>
</filter-mapping>
org.hibernate.LazyInitializationException: failed to lazily initialize a
collection of role: cz.pagat.model.MenuNodePage.children - no session or
session was closed
at
org.hibernate.collection.AbstractPersistentCollection.throwLazyInitializationException(AbstractPersistentCollection.java:191)
at
org.hibernate.collection.AbstractPersistentCollection.initialize(AbstractPersistentCollection.java:183)
at
org.hibernate.collection.AbstractPersistentCollection.read(AbstractPersistentCollection.java:48)
at
org.hibernate.collection.PersistentList.iterator(PersistentList.java:106)
at
org.apache.taglibs.standard.tag.common.core.ForEachSupport.toForEachIterator(ForEachSupport.java:329)
at
org.apache.taglibs.standard.tag.common.core.ForEachSupport.supportedTypeForEachIterator(ForEachSupport.java:205)
at
org.apache.taglibs.standard.tag.common.core.ForEachSupport.prepare(ForEachSupport.java:137)
at
javax.servlet.jsp.jstl.core.LoopTagSupport.doStartTag(LoopTagSupport.java:227)
at
org.apache.jsp.WEB_002dINF.jsp.decorators.default_jsp._jspx_meth_c_forEach_0(org.apache.jsp.WEB_002dINF.jsp.decorators.default_jsp:271)
at
org.apache.jsp.WEB_002dINF.jsp.decorators.default_jsp._jspService(org.apache.jsp.WEB_002dINF.jsp.decorators.default_jsp:125)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:99)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:325)
at
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:245)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at
org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:673)
at
org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:575)
at
org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:500)
at
com.opensymphony.module.sitemesh.filter.PageFilter.applyDecorator(PageFilter.java:156)
at
com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:59)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at filters.MessageFilter.doFilter(MessageFilter.java:27)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at
filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:106)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:825)
at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:738)
at
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:526)
at
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
at java.lang.Thread.run(Thread.java:595)