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]