Hi Everyone,

I want to redirect to a page (other than my home page) and invalidate the session there.

After i call invalidate I get an exception that states the session has already been invalidated, even if I invalidate the session on the target page in pageEndRender. The question is how do I delay the invalidate on the target page long enough to prevent this exception.

For Example:

public void pageEndRender(PageEvent e) {
       if (getRequest().getSession(false) != null){
           try {
               //some clean up code here
               getRequest().getSession(false).invalidate();
           } catch (Exception ex){
//XXX -Exception still appears at runtime in tomcat which cannot be caught
           }
       }
   }

Produces The following  stack trace:
WARN - Exception during post-request cleanup: setAttribute: Session already invalidated - org.apache.tapestry.error.RequestExceptionReporterImpl (45) java.lang.IllegalStateException: setAttribute: Session already invalidated at org.apache.catalina.session.StandardSession.setAttribute(StandardSession.java:1251) at org.apache.catalina.session.StandardSession.setAttribute(StandardSession.java:1233) at org.apache.catalina.session.StandardSessionFacade.setAttribute(StandardSessionFacade.java:129) at org.apache.tapestry.web.ServletWebSession.setAttribute(ServletWebSession.java:62) at org.apache.tapestry.engine.state.SessionScopeManager.store(SessionScopeManager.java:90) at $StateObjectPersistenceManager_1122965794b.store($StateObjectPersistenceManager_1122965794b.java) at org.apache.tapestry.engine.state.StateObjectManagerImpl.store(StateObjectManagerImpl.java:56) at org.apache.tapestry.engine.state.ApplicationStateManagerImpl.flush(ApplicationStateManagerImpl.java:87) at $ApplicationStateManager_1122965778e.flush($ApplicationStateManager_1122965778e.java) at $ApplicationStateManager_1122965778f.flush($ApplicationStateManager_1122965778f.java) at org.apache.tapestry.engine.AbstractEngine.service(AbstractEngine.java:283) at org.apache.tapestry.services.impl.InvokeEngineTerminator.service(InvokeEngineTerminator.java:54) at $WebRequestServicer_1122965784e.service($WebRequestServicer_112296578

etc....

Thanks
Peter




---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to