Dobry den,

mal som volakedy opacny problem. Tomcat pri forward poziadavku uz nepreposle znova cez filter, cize to co prislo sa len posiela dalej. OC4J ale aj pri forward znova prejde cez vsetky filtre.

Takze problem je asi v tom, ze vam zbehnu filtre, tam sa ale neaktivuje vas OpenSessionInView (asi nema dovod) a potom sa spravi forward bez toho aby to zbehlo v tom vasom filtri.

Petr Červinka wrote:
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)





--
jeeff

Odpovedet emailem