You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tapestry.apache.org by Peter Stavrinides <P....@albourne.com> on 2009/03/04 15:39:06 UTC
Tapestry 5.1 session invalidate misbehaving
Hi,
The following code worked in all versions before 5.1, but now I get the exception listed below:
@Inject
private Request request;
@InjectPage
private Home homePage;
@OnEvent(component = "signOut")
Object onEventFromSignOut() {
try {
request.getSession(false).invalidate();
homePage.setIsSignOut(true);
return homePage;
} catch (Throwable e) {
//
}
return null;
}
- com.albourne.web.components.hf.Header (112) org.apache.tapestry5.ioc.internal.util.TapestryException: getAttributeNames: Session already invalidated
at org.apache.tapestry5.internal.structure.ComponentPageElementImpl.invoke(ComponentPageElementImpl.java:935)
at org.apache.tapestry5.internal.structure.ComponentPageElementImpl.containingPageDidAttach(ComponentPageElementImpl.java:733)
at org.apache.tapestry5.internal.structure.PageImpl.attached(PageImpl.java:144)
at org.apache.tapestry5.internal.services.RequestPageCacheImpl.get(RequestPageCacheImpl.java:55)
at $RequestPageCache_11fd1d95dc7.get($RequestPageCache_11fd1d95dc7.java)
at $RequestPageCache_11fd1d95db0.get($RequestPageCache_11fd1d95db0.java)
at org.apache.tapestry5.internal.services.ComponentSourceImpl.getPage(ComponentSourceImpl.java:79)
at $ComponentSource_11fd1d95dbe.getPage($ComponentSource_11fd1d95dbe.java)
at com.albourne.web.components.hf.Header._$read_inject_page_homePage(Header.java)
at com.albourne.web.components.hf.Header.onEventFromSignOut(Header.java:106)
at com.albourne.web.components.hf.Header.dispatchComponentEvent(Header.java)
at org.apache.tapestry5.internal.structure.ComponentPageElementImpl.dispatchEvent(ComponentPageElementImpl.java:889)
at org.apache.tapestry5.internal.structure.ComponentPageElementImpl.triggerContextEvent(ComponentPageElementImpl.java:1068)
at org.apache.tapestry5.internal.services.ComponentEventRequestHandlerImpl.handle(ComponentEventRequestHandlerImpl.java:75)
at org.apache.tapestry5.internal.services.ImmediateActionRenderResponseFilter.handle(ImmediateActionRenderResponseFilter.java:42)
at $ComponentEventRequestHandler_11fd1d95e24.handle($ComponentEventRequestHandler_11fd1d95e24.java)
at org.apache.tapestry5.internal.services.AjaxFilter.handle(AjaxFilter.java:42)
at $ComponentEventRequestHandler_11fd1d95e24.handle($ComponentEventRequestHandler_11fd1d95e24.java)
at org.apache.tapestry5.services.TapestryModule$35.handle(TapestryModule.java:2085)
at $ComponentEventRequestHandler_11fd1d95e24.handle($ComponentEventRequestHandler_11fd1d95e24.java)
at $ComponentEventRequestHandler_11fd1d95dae.handle($ComponentEventRequestHandler_11fd1d95dae.java)
at org.apache.tapestry5.internal.services.ComponentRequestHandlerTerminator.handleComponentEvent(ComponentRequestHandlerTerminator.java:43)
at $ComponentRequestHandler_11fd1d95da7.handleComponentEvent($ComponentRequestHandler_11fd1d95da7.java)
at org.apache.tapestry5.internal.services.ComponentEventDispatcher.dispatch(ComponentEventDispatcher.java:138)
at $Dispatcher_11fd1d95da9.dispatch($Dispatcher_11fd1d95da9.java)
at $Dispatcher_11fd1d95d9b.dispatch($Dispatcher_11fd1d95d9b.java)
at org.apache.tapestry5.services.TapestryModule$RequestHandlerTerminator.service(TapestryModule.java:242)
at org.apache.tapestry5.internal.services.RequestErrorFilter.service(RequestErrorFilter.java:26)
at $RequestHandler_11fd1d95d9c.service($RequestHandler_11fd1d95d9c.java)
at org.apache.tapestry5.services.TapestryModule$4.service(TapestryModule.java:760)
at $RequestHandler_11fd1d95d9c.service($RequestHandler_11fd1d95d9c.java)
at org.apache.tapestry5.services.TapestryModule$3.service(TapestryModule.java:750)
at $RequestHandler_11fd1d95d9c.service($RequestHandler_11fd1d95d9c.java)
at org.apache.tapestry5.internal.services.StaticFilesFilter.service(StaticFilesFilter.java:85)
at $RequestHandler_11fd1d95d9c.service($RequestHandler_11fd1d95d9c.java)
at com.albourne.web.services.PageAccessController.service(PageAccessController.java:186)
at $RequestHandler_11fd1d95d9c.service($RequestHandler_11fd1d95d9c.java)
at com.albourne.web.services.AppModule$3.service(AppModule.java:211)
at $RequestFilter_11fd1d95d99.service($RequestFilter_11fd1d95d99.java)
at $RequestHandler_11fd1d95d9c.service($RequestHandler_11fd1d95d9c.java)
at org.apache.tapestry5.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:90)
at org.apache.tapestry5.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:81)
at org.apache.tapestry5.ioc.internal.util.ConcurrentBarrier.withRead(ConcurrentBarrier.java:85)
at org.apache.tapestry5.internal.services.CheckForUpdatesFilter.service(CheckForUpdatesFilter.java:103)
at $RequestHandler_11fd1d95d9c.service($RequestHandler_11fd1d95d9c.java)
at $RequestHandler_11fd1d95d92.service($RequestHandler_11fd1d95d92.java)
at org.apache.tapestry5.services.TapestryModule$HttpServletRequestHandlerTerminator.service(TapestryModule.java:194)
at org.apache.tapestry5.internal.gzip.GZipFilter.service(GZipFilter.java:53)
at $HttpServletRequestHandler_11fd1d95d94.service($HttpServletRequestHandler_11fd1d95d94.java)
at org.apache.tapestry5.internal.services.IgnoredPathsFilter.service(IgnoredPathsFilter.java:62)
at $HttpServletRequestFilter_11fd1d95d91.service($HttpServletRequestFilter_11fd1d95d91.java)
at $HttpServletRequestHandler_11fd1d95d94.service($HttpServletRequestHandler_11fd1d95d94.java)
at org.apache.tapestry5.services.TapestryModule$2.service(TapestryModule.java:712)
at $HttpServletRequestHandler_11fd1d95d94.service($HttpServletRequestHandler_11fd1d95d94.java)
at $HttpServletRequestHandler_11fd1d95d8f.service($HttpServletRequestHandler_11fd1d95d8f.java)
at org.apache.tapestry5.TapestryFilter.doFilter(TapestryFilter.java:127)
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:175)
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 org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
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: java.lang.IllegalStateException: getAttributeNames: Session already invalidated
at org.apache.catalina.session.StandardSession.getAttributeNames(StandardSession.java:1050)
at org.apache.catalina.session.StandardSessionFacade.getAttributeNames(StandardSessionFacade.java:120)
at org.apache.tapestry5.internal.services.SessionImpl.getAttributeNames(SessionImpl.java:76)
at org.apache.tapestry5.internal.services.AbstractSessionPersistentFieldStrategy.gatherFieldChanges(AbstractSessionPersistentFieldStrategy.java:54)
at org.apache.tapestry5.internal.services.PersistentFieldManagerImpl.gatherChanges(PersistentFieldManagerImpl.java:62)
at $PersistentFieldManager_11fd1d95dd9.gatherChanges($PersistentFieldManager_11fd1d95dd9.java)
at org.apache.tapestry5.internal.structure.PageImpl.getFieldChange(PageImpl.java:162)
at org.apache.tapestry5.internal.structure.InternalComponentResourcesImpl.getFieldChange(InternalComponentResourcesImpl.java:158)
at org.apache.tapestry5.internal.structure.InternalComponentResourcesImpl.hasFieldChange(InternalComponentResourcesImpl.java:168)
at com.albourne.web.pages.Home.containingPageDidAttach(Home.java)
at org.apache.tapestry5.internal.structure.ComponentPageElementImpl$1.run(ComponentPageElementImpl.java:74)
at org.apache.tapestry5.internal.structure.ComponentPageElementImpl.invoke(ComponentPageElementImpl.java:920)
... 67 more
Can someone please point out what has changed and how I might be able to fix this... it seems that Tapestry is trying to set/get attributes from a stale session, but it should really create a new one, I have tried all sorts of workarounds including forcing creation of a new session, just returning the page, using a redirect, constructing a link object but nothing seems to work.
Tested using Java 6 - Tomcat / Jetty on Ubuntu.
Thanks,
Peter
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org
Re: Tapestry 5.1 session invalidate misbehaving
Posted by Peter Stavrinides <P....@albourne.com>.
Thanks for the reply Robert, but that doesn't seem to be the issue, any other ideas?
----- Original Message -----
From: "Robert Zeigler" <ro...@scazdl.org>
To: "Tapestry users" <us...@tapestry.apache.org>
Sent: Thursday, 5 March, 2009 00:45:14 GMT +02:00 Athens, Beirut, Bucharest, Istanbul
Subject: Re: Tapestry 5.1 session invalidate misbehaving
Try switching the order of homePage.setIsSignOut(true) and
request.getSession(false).invalidate();
It looks like the homePage is being lazily evaluated right there, and
the page load is failing; if you switch the order, I think you'll be
set.
Robert
On Mar 4, 2009, at 3/48:39 AM , Peter Stavrinides wrote:
> Hi,
>
> The following code worked in all versions before 5.1, but now I get
> the exception listed below:
> @Inject
> private Request request;
>
> @InjectPage
> private Home homePage;
>
> @OnEvent(component = "signOut")
> Object onEventFromSignOut() {
> try {
>
> request.getSession(false).invalidate();
> homePage.setIsSignOut(true);
> return homePage;
> } catch (Throwable e) {
> //
> }
> return null;
> }
>
> - com.albourne.web.components.hf.Header (112)
> org.apache.tapestry5.ioc.internal.util.TapestryException:
> getAttributeNames: Session already invalidated
> at
> org
> .apache
> .tapestry5
> .internal
> .structure
> .ComponentPageElementImpl.invoke(ComponentPageElementImpl.java:935)
> at
> org
> .apache
> .tapestry5
> .internal
> .structure
> .ComponentPageElementImpl
> .containingPageDidAttach(ComponentPageElementImpl.java:733)
> at
> org
> .apache.tapestry5.internal.structure.PageImpl.attached(PageImpl.java:
> 144)
> at
> org
> .apache
> .tapestry5
> .internal
> .services.RequestPageCacheImpl.get(RequestPageCacheImpl.java:55)
> at
> $RequestPageCache_11fd1d95dc7.get($RequestPageCache_11fd1d95dc7.java)
> at
> $RequestPageCache_11fd1d95db0.get($RequestPageCache_11fd1d95db0.java)
> at
> org
> .apache
> .tapestry5
> .internal
> .services.ComponentSourceImpl.getPage(ComponentSourceImpl.java:79)
> at
> $
> ComponentSource_11fd1d95dbe.getPage($ComponentSource_11fd1d95dbe.java)
> at com.albourne.web.components.hf.Header._
> $read_inject_page_homePage(Header.java)
> at
> com.albourne.web.components.hf.Header.onEventFromSignOut(Header.java:
> 106)
> at
> com
> .albourne.web.components.hf.Header.dispatchComponentEvent(Header.java)
> at
> org
> .apache
> .tapestry5
> .internal
> .structure
> .ComponentPageElementImpl
> .dispatchEvent(ComponentPageElementImpl.java:889)
> at
> org
> .apache
> .tapestry5
> .internal
> .structure
> .ComponentPageElementImpl
> .triggerContextEvent(ComponentPageElementImpl.java:1068)
> at
> org
> .apache
> .tapestry5
> .internal
> .services
> .ComponentEventRequestHandlerImpl
> .handle(ComponentEventRequestHandlerImpl.java:75)
> at
> org
> .apache
> .tapestry5
> .internal
> .services
> .ImmediateActionRenderResponseFilter
> .handle(ImmediateActionRenderResponseFilter.java:42)
> at
> $
> ComponentEventRequestHandler_11fd1d95e24
> .handle($ComponentEventRequestHandler_11fd1d95e24.java)
> at
> org
> .apache
> .tapestry5.internal.services.AjaxFilter.handle(AjaxFilter.java:42)
> at
> $
> ComponentEventRequestHandler_11fd1d95e24
> .handle($ComponentEventRequestHandler_11fd1d95e24.java)
> at org.apache.tapestry5.services.TapestryModule
> $35.handle(TapestryModule.java:2085)
> at
> $
> ComponentEventRequestHandler_11fd1d95e24
> .handle($ComponentEventRequestHandler_11fd1d95e24.java)
> at
> $
> ComponentEventRequestHandler_11fd1d95dae
> .handle($ComponentEventRequestHandler_11fd1d95dae.java)
> at
> org
> .apache
> .tapestry5
> .internal
> .services
> .ComponentRequestHandlerTerminator
> .handleComponentEvent(ComponentRequestHandlerTerminator.java:43)
> at
> $
> ComponentRequestHandler_11fd1d95da7
> .handleComponentEvent($ComponentRequestHandler_11fd1d95da7.java)
> at
> org
> .apache
> .tapestry5
> .internal
> .services
> .ComponentEventDispatcher.dispatch(ComponentEventDispatcher.java:138)
> at $Dispatcher_11fd1d95da9.dispatch($Dispatcher_11fd1d95da9.java)
> at $Dispatcher_11fd1d95d9b.dispatch($Dispatcher_11fd1d95d9b.java)
> at org.apache.tapestry5.services.TapestryModule
> $RequestHandlerTerminator.service(TapestryModule.java:242)
> at
> org
> .apache
> .tapestry5
> .internal
> .services.RequestErrorFilter.service(RequestErrorFilter.java:26)
> at
> $RequestHandler_11fd1d95d9c.service($RequestHandler_11fd1d95d9c.java)
> at org.apache.tapestry5.services.TapestryModule
> $4.service(TapestryModule.java:760)
> at
> $RequestHandler_11fd1d95d9c.service($RequestHandler_11fd1d95d9c.java)
> at org.apache.tapestry5.services.TapestryModule
> $3.service(TapestryModule.java:750)
> at
> $RequestHandler_11fd1d95d9c.service($RequestHandler_11fd1d95d9c.java)
> at
> org
> .apache
> .tapestry5
> .internal.services.StaticFilesFilter.service(StaticFilesFilter.java:
> 85)
> at
> $RequestHandler_11fd1d95d9c.service($RequestHandler_11fd1d95d9c.java)
> at
> com
> .albourne
> .web.services.PageAccessController.service(PageAccessController.java:
> 186)
> at
> $RequestHandler_11fd1d95d9c.service($RequestHandler_11fd1d95d9c.java)
> at com.albourne.web.services.AppModule$3.service(AppModule.java:211)
> at
> $RequestFilter_11fd1d95d99.service($RequestFilter_11fd1d95d99.java)
> at
> $RequestHandler_11fd1d95d9c.service($RequestHandler_11fd1d95d9c.java)
> at org.apache.tapestry5.internal.services.CheckForUpdatesFilter
> $2.invoke(CheckForUpdatesFilter.java:90)
> at org.apache.tapestry5.internal.services.CheckForUpdatesFilter
> $2.invoke(CheckForUpdatesFilter.java:81)
> at
> org
> .apache
> .tapestry5
> .ioc.internal.util.ConcurrentBarrier.withRead(ConcurrentBarrier.java:
> 85)
> at
> org
> .apache
> .tapestry5
> .internal
> .services.CheckForUpdatesFilter.service(CheckForUpdatesFilter.java:
> 103)
> at
> $RequestHandler_11fd1d95d9c.service($RequestHandler_11fd1d95d9c.java)
> at
> $RequestHandler_11fd1d95d92.service($RequestHandler_11fd1d95d92.java)
> at org.apache.tapestry5.services.TapestryModule
> $HttpServletRequestHandlerTerminator.service(TapestryModule.java:194)
> at
> org
> .apache.tapestry5.internal.gzip.GZipFilter.service(GZipFilter.java:53)
> at
> $
> HttpServletRequestHandler_11fd1d95d94
> .service($HttpServletRequestHandler_11fd1d95d94.java)
> at
> org
> .apache
> .tapestry5
> .internal
> .services.IgnoredPathsFilter.service(IgnoredPathsFilter.java:62)
> at
> $
> HttpServletRequestFilter_11fd1d95d91
> .service($HttpServletRequestFilter_11fd1d95d91.java)
> at
> $
> HttpServletRequestHandler_11fd1d95d94
> .service($HttpServletRequestHandler_11fd1d95d94.java)
> at org.apache.tapestry5.services.TapestryModule
> $2.service(TapestryModule.java:712)
> at
> $
> HttpServletRequestHandler_11fd1d95d94
> .service($HttpServletRequestHandler_11fd1d95d94.java)
> at
> $
> HttpServletRequestHandler_11fd1d95d8f
> .service($HttpServletRequestHandler_11fd1d95d8f.java)
> at org.apache.tapestry5.TapestryFilter.doFilter(TapestryFilter.java:
> 127)
> 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:
> 175)
> 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
> org
> .apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:
> 286)
> at
> org
> .apache.coyote.http11.Http11Processor.process(Http11Processor.java:
> 844)
> 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: java.lang.IllegalStateException: getAttributeNames:
> Session already invalidated
> at
> org
> .apache
> .catalina
> .session.StandardSession.getAttributeNames(StandardSession.java:1050)
> at
> org
> .apache
> .catalina
> .session
> .StandardSessionFacade.getAttributeNames(StandardSessionFacade.java:
> 120)
> at
> org
> .apache
> .tapestry5
> .internal.services.SessionImpl.getAttributeNames(SessionImpl.java:76)
> at
> org
> .apache
> .tapestry5
> .internal
> .services
> .AbstractSessionPersistentFieldStrategy
> .gatherFieldChanges(AbstractSessionPersistentFieldStrategy.java:54)
> at
> org
> .apache
> .tapestry5
> .internal
> .services
> .PersistentFieldManagerImpl
> .gatherChanges(PersistentFieldManagerImpl.java:62)
> at
> $
> PersistentFieldManager_11fd1d95dd9
> .gatherChanges($PersistentFieldManager_11fd1d95dd9.java)
> at
> org
> .apache
> .tapestry5.internal.structure.PageImpl.getFieldChange(PageImpl.java:
> 162)
> at
> org
> .apache
> .tapestry5
> .internal
> .structure
> .InternalComponentResourcesImpl
> .getFieldChange(InternalComponentResourcesImpl.java:158)
> at
> org
> .apache
> .tapestry5
> .internal
> .structure
> .InternalComponentResourcesImpl
> .hasFieldChange(InternalComponentResourcesImpl.java:168)
> at com.albourne.web.pages.Home.containingPageDidAttach(Home.java)
> at org.apache.tapestry5.internal.structure.ComponentPageElementImpl
> $1.run(ComponentPageElementImpl.java:74)
> at
> org
> .apache
> .tapestry5
> .internal
> .structure
> .ComponentPageElementImpl.invoke(ComponentPageElementImpl.java:920)
> ... 67 more
>
> Can someone please point out what has changed and how I might be
> able to fix this... it seems that Tapestry is trying to set/get
> attributes from a stale session, but it should really create a new
> one, I have tried all sorts of workarounds including forcing
> creation of a new session, just returning the page, using a
> redirect, constructing a link object but nothing seems to work.
>
> Tested using Java 6 - Tomcat / Jetty on Ubuntu.
>
> Thanks,
> Peter
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org
Re: Tapestry 5.1 session invalidate misbehaving
Posted by Robert Zeigler <ro...@scazdl.org>.
Try switching the order of homePage.setIsSignOut(true) and
request.getSession(false).invalidate();
It looks like the homePage is being lazily evaluated right there, and
the page load is failing; if you switch the order, I think you'll be
set.
Robert
On Mar 4, 2009, at 3/48:39 AM , Peter Stavrinides wrote:
> Hi,
>
> The following code worked in all versions before 5.1, but now I get
> the exception listed below:
> @Inject
> private Request request;
>
> @InjectPage
> private Home homePage;
>
> @OnEvent(component = "signOut")
> Object onEventFromSignOut() {
> try {
>
> request.getSession(false).invalidate();
> homePage.setIsSignOut(true);
> return homePage;
> } catch (Throwable e) {
> //
> }
> return null;
> }
>
> - com.albourne.web.components.hf.Header (112)
> org.apache.tapestry5.ioc.internal.util.TapestryException:
> getAttributeNames: Session already invalidated
> at
> org
> .apache
> .tapestry5
> .internal
> .structure
> .ComponentPageElementImpl.invoke(ComponentPageElementImpl.java:935)
> at
> org
> .apache
> .tapestry5
> .internal
> .structure
> .ComponentPageElementImpl
> .containingPageDidAttach(ComponentPageElementImpl.java:733)
> at
> org
> .apache.tapestry5.internal.structure.PageImpl.attached(PageImpl.java:
> 144)
> at
> org
> .apache
> .tapestry5
> .internal
> .services.RequestPageCacheImpl.get(RequestPageCacheImpl.java:55)
> at
> $RequestPageCache_11fd1d95dc7.get($RequestPageCache_11fd1d95dc7.java)
> at
> $RequestPageCache_11fd1d95db0.get($RequestPageCache_11fd1d95db0.java)
> at
> org
> .apache
> .tapestry5
> .internal
> .services.ComponentSourceImpl.getPage(ComponentSourceImpl.java:79)
> at
> $
> ComponentSource_11fd1d95dbe.getPage($ComponentSource_11fd1d95dbe.java)
> at com.albourne.web.components.hf.Header._
> $read_inject_page_homePage(Header.java)
> at
> com.albourne.web.components.hf.Header.onEventFromSignOut(Header.java:
> 106)
> at
> com
> .albourne.web.components.hf.Header.dispatchComponentEvent(Header.java)
> at
> org
> .apache
> .tapestry5
> .internal
> .structure
> .ComponentPageElementImpl
> .dispatchEvent(ComponentPageElementImpl.java:889)
> at
> org
> .apache
> .tapestry5
> .internal
> .structure
> .ComponentPageElementImpl
> .triggerContextEvent(ComponentPageElementImpl.java:1068)
> at
> org
> .apache
> .tapestry5
> .internal
> .services
> .ComponentEventRequestHandlerImpl
> .handle(ComponentEventRequestHandlerImpl.java:75)
> at
> org
> .apache
> .tapestry5
> .internal
> .services
> .ImmediateActionRenderResponseFilter
> .handle(ImmediateActionRenderResponseFilter.java:42)
> at
> $
> ComponentEventRequestHandler_11fd1d95e24
> .handle($ComponentEventRequestHandler_11fd1d95e24.java)
> at
> org
> .apache
> .tapestry5.internal.services.AjaxFilter.handle(AjaxFilter.java:42)
> at
> $
> ComponentEventRequestHandler_11fd1d95e24
> .handle($ComponentEventRequestHandler_11fd1d95e24.java)
> at org.apache.tapestry5.services.TapestryModule
> $35.handle(TapestryModule.java:2085)
> at
> $
> ComponentEventRequestHandler_11fd1d95e24
> .handle($ComponentEventRequestHandler_11fd1d95e24.java)
> at
> $
> ComponentEventRequestHandler_11fd1d95dae
> .handle($ComponentEventRequestHandler_11fd1d95dae.java)
> at
> org
> .apache
> .tapestry5
> .internal
> .services
> .ComponentRequestHandlerTerminator
> .handleComponentEvent(ComponentRequestHandlerTerminator.java:43)
> at
> $
> ComponentRequestHandler_11fd1d95da7
> .handleComponentEvent($ComponentRequestHandler_11fd1d95da7.java)
> at
> org
> .apache
> .tapestry5
> .internal
> .services
> .ComponentEventDispatcher.dispatch(ComponentEventDispatcher.java:138)
> at $Dispatcher_11fd1d95da9.dispatch($Dispatcher_11fd1d95da9.java)
> at $Dispatcher_11fd1d95d9b.dispatch($Dispatcher_11fd1d95d9b.java)
> at org.apache.tapestry5.services.TapestryModule
> $RequestHandlerTerminator.service(TapestryModule.java:242)
> at
> org
> .apache
> .tapestry5
> .internal
> .services.RequestErrorFilter.service(RequestErrorFilter.java:26)
> at
> $RequestHandler_11fd1d95d9c.service($RequestHandler_11fd1d95d9c.java)
> at org.apache.tapestry5.services.TapestryModule
> $4.service(TapestryModule.java:760)
> at
> $RequestHandler_11fd1d95d9c.service($RequestHandler_11fd1d95d9c.java)
> at org.apache.tapestry5.services.TapestryModule
> $3.service(TapestryModule.java:750)
> at
> $RequestHandler_11fd1d95d9c.service($RequestHandler_11fd1d95d9c.java)
> at
> org
> .apache
> .tapestry5
> .internal.services.StaticFilesFilter.service(StaticFilesFilter.java:
> 85)
> at
> $RequestHandler_11fd1d95d9c.service($RequestHandler_11fd1d95d9c.java)
> at
> com
> .albourne
> .web.services.PageAccessController.service(PageAccessController.java:
> 186)
> at
> $RequestHandler_11fd1d95d9c.service($RequestHandler_11fd1d95d9c.java)
> at com.albourne.web.services.AppModule$3.service(AppModule.java:211)
> at
> $RequestFilter_11fd1d95d99.service($RequestFilter_11fd1d95d99.java)
> at
> $RequestHandler_11fd1d95d9c.service($RequestHandler_11fd1d95d9c.java)
> at org.apache.tapestry5.internal.services.CheckForUpdatesFilter
> $2.invoke(CheckForUpdatesFilter.java:90)
> at org.apache.tapestry5.internal.services.CheckForUpdatesFilter
> $2.invoke(CheckForUpdatesFilter.java:81)
> at
> org
> .apache
> .tapestry5
> .ioc.internal.util.ConcurrentBarrier.withRead(ConcurrentBarrier.java:
> 85)
> at
> org
> .apache
> .tapestry5
> .internal
> .services.CheckForUpdatesFilter.service(CheckForUpdatesFilter.java:
> 103)
> at
> $RequestHandler_11fd1d95d9c.service($RequestHandler_11fd1d95d9c.java)
> at
> $RequestHandler_11fd1d95d92.service($RequestHandler_11fd1d95d92.java)
> at org.apache.tapestry5.services.TapestryModule
> $HttpServletRequestHandlerTerminator.service(TapestryModule.java:194)
> at
> org
> .apache.tapestry5.internal.gzip.GZipFilter.service(GZipFilter.java:53)
> at
> $
> HttpServletRequestHandler_11fd1d95d94
> .service($HttpServletRequestHandler_11fd1d95d94.java)
> at
> org
> .apache
> .tapestry5
> .internal
> .services.IgnoredPathsFilter.service(IgnoredPathsFilter.java:62)
> at
> $
> HttpServletRequestFilter_11fd1d95d91
> .service($HttpServletRequestFilter_11fd1d95d91.java)
> at
> $
> HttpServletRequestHandler_11fd1d95d94
> .service($HttpServletRequestHandler_11fd1d95d94.java)
> at org.apache.tapestry5.services.TapestryModule
> $2.service(TapestryModule.java:712)
> at
> $
> HttpServletRequestHandler_11fd1d95d94
> .service($HttpServletRequestHandler_11fd1d95d94.java)
> at
> $
> HttpServletRequestHandler_11fd1d95d8f
> .service($HttpServletRequestHandler_11fd1d95d8f.java)
> at org.apache.tapestry5.TapestryFilter.doFilter(TapestryFilter.java:
> 127)
> 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:
> 175)
> 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
> org
> .apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:
> 286)
> at
> org
> .apache.coyote.http11.Http11Processor.process(Http11Processor.java:
> 844)
> 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: java.lang.IllegalStateException: getAttributeNames:
> Session already invalidated
> at
> org
> .apache
> .catalina
> .session.StandardSession.getAttributeNames(StandardSession.java:1050)
> at
> org
> .apache
> .catalina
> .session
> .StandardSessionFacade.getAttributeNames(StandardSessionFacade.java:
> 120)
> at
> org
> .apache
> .tapestry5
> .internal.services.SessionImpl.getAttributeNames(SessionImpl.java:76)
> at
> org
> .apache
> .tapestry5
> .internal
> .services
> .AbstractSessionPersistentFieldStrategy
> .gatherFieldChanges(AbstractSessionPersistentFieldStrategy.java:54)
> at
> org
> .apache
> .tapestry5
> .internal
> .services
> .PersistentFieldManagerImpl
> .gatherChanges(PersistentFieldManagerImpl.java:62)
> at
> $
> PersistentFieldManager_11fd1d95dd9
> .gatherChanges($PersistentFieldManager_11fd1d95dd9.java)
> at
> org
> .apache
> .tapestry5.internal.structure.PageImpl.getFieldChange(PageImpl.java:
> 162)
> at
> org
> .apache
> .tapestry5
> .internal
> .structure
> .InternalComponentResourcesImpl
> .getFieldChange(InternalComponentResourcesImpl.java:158)
> at
> org
> .apache
> .tapestry5
> .internal
> .structure
> .InternalComponentResourcesImpl
> .hasFieldChange(InternalComponentResourcesImpl.java:168)
> at com.albourne.web.pages.Home.containingPageDidAttach(Home.java)
> at org.apache.tapestry5.internal.structure.ComponentPageElementImpl
> $1.run(ComponentPageElementImpl.java:74)
> at
> org
> .apache
> .tapestry5
> .internal
> .structure
> .ComponentPageElementImpl.invoke(ComponentPageElementImpl.java:920)
> ... 67 more
>
> Can someone please point out what has changed and how I might be
> able to fix this... it seems that Tapestry is trying to set/get
> attributes from a stale session, but it should really create a new
> one, I have tried all sorts of workarounds including forcing
> creation of a new session, just returning the page, using a
> redirect, constructing a link object but nothing seems to work.
>
> Tested using Java 6 - Tomcat / Jetty on Ubuntu.
>
> Thanks,
> Peter
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org