Sorry to jump in here Chris... Jan not exactly sure what you are doing since you haven't shown your code, but the exception is telling you "the response has been committed" , which means you are trying to modify a Response that is being processed, i.e.: it is read only. If you interrupt the response, for example with a redirect, then try returning true.

if(interruptHere)){
    response.sendRedirect("/login");
    return true;
}
return false;

Peter

Jan Vissers wrote:
Hi Chris,

Thank you. As a matter of fact I used your wiki entries as my main
inspiration. So what I do now is:

use: "before:RootPath" for the contributation and
return 'false' on the dispath for '/login and '/assets/'

This works but in the background the following stuff is logged
(To be more precise I'm using an ASO in my dispatcher)

Question is: should this worry me?

[DEBUG] SecurityController In dispatch for /
[INFO] TimingFilter Request time: 1 ms
[ERROR] RequestExceptionHandler Processing of request failed with uncaught 
exception: Cannot create a session after the response has been committed
org.apache.tapestry.runtime.ComponentEventException: Cannot create a
session after the response has been committed
        at
org.apache.tapestry.internal.structure.ComponentPageElementImpl.triggerContextEvent(ComponentPageElementImpl.java:1021)
        at
org.apache.tapestry.internal.services.PageRenderRequestHandlerImpl.handle(PageRenderRequestHandlerImpl.java:52)
        at org.apache.tapestry.services.TapestryModule
$29.handle(TapestryModule.java:1607)
        at
$PageRenderRequestHandler_1197add4787.handle($PageRenderRequestHandler_1197add4787.java)
        at
$PageRenderRequestHandler_1197add4779.handle($PageRenderRequestHandler_1197add4779.java)
        at
org.apache.tapestry.internal.services.RootPathDispatcher.dispatch(RootPathDispatcher.java:61)
        at $Dispatcher_1197add4781.dispatch($Dispatcher_1197add4781.java)
        at $Dispatcher_1197add4772.dispatch($Dispatcher_1197add4772.java)
        at org.apache.tapestry.services.TapestryModule
$13.service(TapestryModule.java:944)
        at com.*****.lighting.guidecontrol.view.services.AppModule
$1.service(AppModule.java:83)
        at $RequestFilter_1197add4771.service($RequestFilter_1197add4771.java)
        at
$RequestHandler_1197add4773.service($RequestHandler_1197add4773.java)
        at
org.apache.tapestry.internal.services.LocalizationFilter.service(LocalizationFilter.java:42)
        at
$RequestHandler_1197add4773.service($RequestHandler_1197add4773.java)
        at org.apache.tapestry.services.TapestryModule
$3.service(TapestryModule.java:553)
        at
$RequestHandler_1197add4773.service($RequestHandler_1197add4773.java)
        at org.apache.tapestry.services.TapestryModule
$2.service(TapestryModule.java:520)
        at
$RequestHandler_1197add4773.service($RequestHandler_1197add4773.java)
        at
org.apache.tapestry.internal.services.StaticFilesFilter.service(StaticFilesFilter.java:79)
        at
$RequestHandler_1197add4773.service($RequestHandler_1197add4773.java)
        at org.apache.tapestry.internal.services.CheckForUpdatesFilter
$2.invoke(CheckForUpdatesFilter.java:93)
        at org.apache.tapestry.internal.services.CheckForUpdatesFilter
$2.invoke(CheckForUpdatesFilter.java:84)
        at
org.apache.tapestry.ioc.internal.util.ConcurrentBarrier.withRead(ConcurrentBarrier.java:77)
        at
org.apache.tapestry.internal.services.CheckForUpdatesFilter.service(CheckForUpdatesFilter.java:106)
        at
$RequestHandler_1197add4773.service($RequestHandler_1197add4773.java)
        at
$RequestHandler_1197add476a.service($RequestHandler_1197add476a.java)
        at org.apache.tapestry.services.TapestryModule
$12.service(TapestryModule.java:924)
        at
org.apache.tapestry.internal.services.IgnoredPathsFilter.service(IgnoredPathsFilter.java:62)
        at
$HttpServletRequestFilter_1197add4769.service($HttpServletRequestFilter_1197add4769.java)
        at
$HttpServletRequestHandler_1197add476b.service($HttpServletRequestHandler_1197add476b.java)
        at
$HttpServletRequestHandler_1197add4768.service($HttpServletRequestHandler_1197add4768.java)
        at org.apache.tapestry.TapestryFilter.doFilter(TapestryFilter.java:168)
        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:735)
Caused by: java.lang.IllegalStateException: Cannot create a session after the
response has been committed
        at
org.apache.catalina.connector.Request.doGetSession(Request.java:2301)
        at org.apache.catalina.connector.Request.getSession(Request.java:2075)
        at
org.apache.catalina.connector.RequestFacade.getSession(RequestFacade.java:833)
        at
org.apache.tapestry.internal.services.RequestImpl.getSession(RequestImpl.java:88)
        at $Request_1197add4783.getSession($Request_1197add4783.java)
        at $Request_1197add475c.getSession($Request_1197add475c.java)
        at
org.apache.tapestry.internal.services.SessionApplicationStatePersistenceStrategy.getSession(SessionApplicationStatePersistenceStrategy.java:42)
        at
org.apache.tapestry.internal.services.SessionApplicationStatePersistenceStrategy.get(SessionApplicationStatePersistenceStrategy.java:48)
        at org.apache.tapestry.internal.services.ApplicationStateManagerImpl
$ApplicationStateAdapter.getOrCreate(ApplicationStateManagerImpl.java:45)
        at
org.apache.tapestry.internal.services.ApplicationStateManagerImpl.get(ApplicationStateManagerImpl.java:126)
        at
$ApplicationStateManager_1197add4780.get($ApplicationStateManager_1197add4780.java)
        at com.*****.lighting.guidecontrol.view.base.AbstractBasePage._
$read_breadCrumbHolder(AbstractBasePage.java)
        at
com.*****.lighting.guidecontrol.view.base.AbstractBasePage.onActivate(AbstractBasePage.java:130)
        at
com.*****.lighting.guidecontrol.view.base.AbstractBasePage.dispatchComponentEvent(AbstractBasePage.java)
        at
org.apache.tapestry.internal.structure.ComponentPageElementImpl.dispatchEvent(ComponentPageElementImpl.java:843)
        at
org.apache.tapestry.internal.structure.ComponentPageElementImpl.triggerContextEvent(ComponentPageElementImpl.java:1004)
        ... 43 more
[DEBUG] SecurityController In dispatch for /login
[DEBUG] AbstractBasePage Page initialization added to breadcrumbs:
login;jsessionid=278B5A7E10E6912784BE444C0CD885B1
[INFO] TimingFilter Request time: 6 ms

-J.

On Wed, 2008-04-23 at 12:32 +0200, Chris Lewis wrote:
Hi Jan,

The first 2 paragraphs of this article cover what you want to do:

http://wiki.apache.org/tapestry/Tapestry5HowToCreateADispatcher

Included also are relevant links to javadocs, as well as references to
the TapestryModule, where you can see how it influences dispatcher ordering.

chris

Jan Vissers wrote:
Hi,

Just posted a question on dispatcher chain - but I think the subject
line was way to unclear - so sorry for asking the question again.

I want all of my pages (also the one that is shown when I access root
context without anything - so no '/start') to be passed thru my
dispatcher. How can I do that?

-J.


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




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


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

Reply via email to