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)



Odpovedet emailem