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