Hi Martin Thanks for sharing your thoughts. My web.xml doesnt have any configuration related to session timeout so i guess its uses default timeout. A code snippet on how to do a post-back will be greatly appreciated
Martin Marinschek wrote: > > Hi, > > yes, I would dare to say this is expected behaviour, if you do a > post-back (if you execute a get-link, then this shouldn't happen). In > your web-application, you will need to cover the case of a timed-out > session appropriately. > > regards, > > Martin > > On 7/18/08, bansi <[EMAIL PROTECTED]> wrote: >> >> I am using Myfaces 1.2.2 ( JSF 1.2) and PhaseListener approach as >> suggested >> by Cagatay Civici in one of his articles i.e. >> http://cagataycivici.wordpress.com/2005/12/30/jsf_with_ajax_phase_listener/ >> >> If the session times out, JSF throws a ViewExpiredException during the >> RESTORE_VIEW phase. >> >> >> Here is the snippet from my LoginPhaseListener. The exception is thrown >> from >> afterPhase method >> >> /** >> * After phase. >> * >> * @param pe >> * the pe >> * @see >> javax.faces.event.PhaseListener#afterPhase(javax.faces.event.PhaseEvent) >> */ >> public void afterPhase(final PhaseEvent pe) >> { >> final FacesContext facesContext = pe.getFacesContext(); >> final String viewId = >> pe.getFacesContext().getViewRoot().getViewId();// Throws Exception >> if (viewId.endsWith("login.xhtml")) >> { >> final String managedBeanName = >> getManagedBeanNameFromView(viewId); >> final Object object = >> facesContext.getApplication().createValueBinding("#{" + managedBeanName + >> "}") >> .getValue(facesContext); >> if (object == null) >> { >> logger.error("OnPageLoad cannot be executed, no such >> managed >> bean:" + managedBeanName); >> } else >> { >> final Login loginBean = (Login) object; >> loginBean.onPageLoad(); >> } >> } else >> { >> final String managedBeanName = >> getManagedBeanNameFromView(viewId); >> final String BackingBeanName = managedBeanName.substring(0, >> 1).toUpperCase() >> + managedBeanName.substring(1, >> managedBeanName.length()); >> } >> } >> >> >> /** >> * Gets the managed bean name from view. >> * >> * @param viewId >> * the view id >> * @return the managed bean name from view >> */ >> public String getManagedBeanNameFromView(final String viewId) >> { >> String pageName; >> if (viewId.endsWith("login.xhtml")) >> { >> pageName = viewId.substring(1, viewId.length() - 6); >> } else >> { >> pageName = viewId.substring(1, viewId.length() - 10); >> } >> return pageName + "Bean"; >> } >> >> Here is the stack trace >> >> 2008-07-15 10:31:12,192 ERROR >> [org.apache.myfaces.lifecycle.PhaseListenerManager] - <Exception in >> PhaseListener RESTORE_VIEW(1) afterPhase> >> java.lang.NullPointerException >> at >> com.boeing.nmt.nams.view.util.LoginPhaseListener.afterPhase(LoginPhaseListener.java:47) >> at >> org.apache.myfaces.lifecycle.PhaseListenerManager.informPhaseListenersAfter(PhaseListenerManager.java:92) >> at >> org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:107) >> at >> org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:76) >> at javax.faces.webapp.FacesServlet.service(FacesServlet.java:148) >> at >> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252) >> at >> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) >> at >> org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:147) >> at >> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) >> at >> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) >> at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:147) >> at org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:256) >> at >> org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:362) >> at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:488) >> at >> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) >> at >> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) >> at >> org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198) >> at >> org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76) >> at >> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) >> at >> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) >> at >> com.boeing.nmt.nams.view.util.SecurityFilter.doFilter(SecurityFilter.java:59) >> at >> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) >> at >> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) >> at >> com.boeing.nmt.nams.view.util.MessageFilter.doFilter(MessageFilter.java:71) >> 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:213) >> 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:869) >> at >> org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664) >> at >> org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527) >> 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) >> 2008-07-15 10:31:12,348 ERROR [javax.faces.webapp._ErrorPageWriter] - <An >> exception occurred> >> javax.faces.application.ViewExpiredException: /deviceForm.facesThe >> expected >> view was not returned for the view identifier: /deviceForm.faces >> 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:148) >> at >> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252) >> at >> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) >> at >> org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:147) >> at >> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) >> at >> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) >> at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:147) >> at org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:256) >> at >> org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:362) >> at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:488) >> at >> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) >> at >> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) >> at >> org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198) >> at >> org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76) >> at >> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) >> at >> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) >> at >> com.boeing.nmt.nams.view.util.SecurityFilter.doFilter(SecurityFilter.java:59) >> at >> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) >> at >> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) >> at >> com.boeing.nmt.nams.view.util.MessageFilter.doFilter(MessageFilter.java:71) >> 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:213) >> 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:869) >> at >> org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664) >> at >> org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527) >> 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) >> 2008-07-15 10:31:12,348 ERROR [javax.faces.webapp._ErrorPageWriter] - <An >> exception occurred> >> javax.faces.application.ViewExpiredException: /deviceForm.facesThe >> expected >> view was not returned for the view identifier: /deviceForm.faces >> 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:148) >> at >> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252) >> at >> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) >> at >> org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:147) >> at >> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) >> at >> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) >> at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:147) >> at org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:256) >> at >> org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:362) >> at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:488) >> at >> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) >> at >> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) >> at >> org.springframework.orm.hibernate3.support.OpenSessionInViewFilter.doFilterInternal(OpenSessionInViewFilter.java:198) >> at >> org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76) >> at >> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) >> at >> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) >> at >> com.boeing.nmt.nams.view.util.SecurityFilter.doFilter(SecurityFilter.java:59) >> at >> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) >> at >> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) >> at >> com.boeing.nmt.nams.view.util.MessageFilter.doFilter(MessageFilter.java:71) >> 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:213) >> 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:869) >> at >> org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664) >> at >> org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527) >> 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) >> 2008-07-15 10:31:12,348 WARN >> [org.apache.myfaces.renderkit.html.util.DefaultAddResource] - <MyFaces >> special javascript could not be retrieved from request-map.> >> >> -- >> View this message in context: >> http://www.nabble.com/Session-timeout-results-in-javax.faces.application.ViewExpiredException-tp18518805p18518805.html >> Sent from the MyFaces - Users mailing list archive at Nabble.com. >> >> > > > -- > > http://www.irian.at > > Your JSF powerhouse - > JSF Consulting, Development and > Courses in English and German > > Professional Support for Apache MyFaces > > -- View this message in context: http://www.nabble.com/Session-timeout-results-in-javax.faces.application.ViewExpiredException-tp18518805p18533647.html Sent from the MyFaces - Users mailing list archive at Nabble.com.

