ViewExpiredException is thrown on time out. Catch it via web.xml -M
On Tue, Feb 17, 2009 at 9:58 AM, Guy Bashan <guy.bas...@gmail.com> wrote: > I am having a weird issue with JSF: I set the session expiration in my > application to 1 minute (for testing purposes). I load the web application. > the entrance page is a simple login page with 2 fields (username/password). > I wait for 1 minute for session to expire. I try to login. I get this > exception: > > 2009-02-17 10:48:33,522 [http-8080-2] ERROR > org.ajax4jsf.webapp.BaseXMLFilter - Exception in the filter chain > > javax.servlet.ServletException: /login.jspxNo saved view state could be > found for the view identifier: /login.jspx > > at > javax.faces.webapp._ErrorPageWriter.throwException(_ErrorPageWriter.java:546) > > at > javax.faces.webapp.FacesServlet.handleLifecycleException(FacesServlet.java:266) > > at javax.faces.webapp.FacesServlet.service(FacesServlet.java:160) > > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) > > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) > > at > org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:178) > > at org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:290) > > at > org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:390) > > at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:517) > > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) > > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) > > at > org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:301) > > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) > > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) > > at > com.todacell.ui.view.filter.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:100) > > at > com.todacell.ui.view.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:61) > > 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:233) > > at > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) > > at > org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:433) > > at > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) > > at > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) > > at > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) > > at com.jamonapi.http.JAMonTomcatValve.invoke(JAMonTomcatValve.java:72) > > at > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286) > > at > org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845) > > at > org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583) > > at > org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447) > > at java.lang.Thread.run(Thread.java:619) > > Caused by: javax.faces.application.ViewExpiredException: /login.jspxNo saved > view state could be found for the view identifier: /login.jspx > > at > org.apache.myfaces.lifecycle.RestoreViewExecutor.execute(RestoreViewExecutor.java:88) > > at > org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:103) > > at > org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:76) > > at javax.faces.webapp.FacesServlet.service(FacesServlet.java:151) > > ... 27 more > > Why am I getting it? this is really annoying... > > Guy. > -- Matthias Wessendorf blog: http://matthiaswessendorf.wordpress.com/ sessions: http://www.slideshare.net/mwessendorf twitter: http://twitter.com/mwessendorf