After upgrading our Tap3 apps to Tap4, I'm seeing an
"IllegalStateException:  setAttribute: Session already invalidated". 
(Stack trace below.)   It happens whenever a user manually logs out,
when we call  getRestartService().service(getRequestCycle()).  It's not
really a problem because it's only a stack-trace -- the user doesn't see
anything wrong -- but it'll clutter up our logs with about a hundred 
pointless exception traces a day.  Yeah, I know, it's a tough life.

The exception occurs not on session.invalidate() but a bit later when
ApplicationStateManager.flush() causes a WebSession.store().  Tap3 used
to have a line of code:

        // Make isStateful() return false, so that the servlet doesn't
        // try to store the engine back into the (now invalid) session.
        _stateful = false;

It would be nice if a similar thing could be done in Tap4.  Worst case,
I could override Engine.service() but I'm trying to wean myself away
from engine overriding.


 java.lang.IllegalStateException: setAttribute: Session already invalidated
 
org.apache.catalina.session.StandardSession.setAttribute(StandardSession.java:1229)
 
org.apache.catalina.session.StandardSessionFacade.setAttribute(StandardSessionFacade.java:129)
 
org.apache.tapestry.web.ServletWebSession.setAttribute(ServletWebSession.java:62)
 
org.apache.tapestry.engine.state.SessionScopeManager.store(SessionScopeManager.java:90)
 
$StateObjectPersistenceManager_10918d5a17f.store($StateObjectPersistenceManager_10918d5a17f.java)
 
org.apache.tapestry.engine.state.StateObjectManagerImpl.store(StateObjectManagerImpl.java:55)
 
org.apache.tapestry.engine.state.ApplicationStateManagerImpl.flush(ApplicationStateManagerImpl.java:87)
 
$ApplicationStateManager_10918d59fcb.flush($ApplicationStateManager_10918d59fcb.java)
 
$ApplicationStateManager_10918d59fcc.flush($ApplicationStateManager_10918d59fcc.java)
 org.apache.tapestry.engine.AbstractEngine.service(AbstractEngine.java:290)
 
org.apache.tapestry.services.impl.InvokeEngineTerminator.service(InvokeEngineTerminator.java:60)
 $WebRequestServicer_10918d5a0ab.service($WebRequestServicer_10918d5a0ab.java)
 $WebRequestServicer_10918d5a0a7.service($WebRequestServicer_10918d5a0a7.java)
 
org.apache.tapestry.services.impl.WebRequestServicerPipelineBridge.service(WebRequestServicerPipelineBridge.java:56)
 
$ServletRequestServicer_10918d5a08b.service($ServletRequestServicer_10918d5a08b.java)
 
org.apache.tapestry.request.DecodedRequestInjector.service(DecodedRequestInjector.java:55)
 
$ServletRequestServicerFilter_10918d5a087.service($ServletRequestServicerFilter_10918d5a087.java)
 
$ServletRequestServicer_10918d5a08d.service($ServletRequestServicer_10918d5a08d.java)
 
org.apache.tapestry.multipart.MultipartDecoderFilter.service(MultipartDecoderFilter.java:52)
 
$ServletRequestServicerFilter_10918d5a085.service($ServletRequestServicerFilter_10918d5a085.java)
 
$ServletRequestServicer_10918d5a08d.service($ServletRequestServicer_10918d5a08d.java)
 
org.apache.tapestry.services.impl.SetupRequestEncoding.service(SetupRequestEncoding.java:53)
 
$ServletRequestServicerFilter_10918d5a089.service($ServletRequestServicerFilter_10918d5a089.java)
 
$ServletRequestServicer_10918d5a08d.service($ServletRequestServicer_10918d5a08d.java)
 
$ServletRequestServicer_10918d59fff.service($ServletRequestServicer_10918d59fff.java)
 org.apache.tapestry.ApplicationServlet.doService(ApplicationServlet.java:123)



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

Reply via email to