You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tapestry.apache.org by Jan Vissers <Ja...@cumquat.nl> on 2008/04/23 12:18:06 UTC

T5 contributeMasterDispatcher - how to have default rootContext access be part of it

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: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org


Re: T5 contributeMasterDispatcher - how to have default rootContext access be part of it

Posted by Peter Stavrinides <p....@albourne.com>.
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: 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: T5 contributeMasterDispatcher - how to have default rootContext access be part of it

Posted by Jan Vissers <Ja...@cumquat.nl>.
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: 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: T5 contributeMasterDispatcher - how to have default rootContext access be part of it

Posted by Chris Lewis <ch...@bellsouth.net>.
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: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
>
>   

-- 
http://thegodcode.net


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org