Whatever is happening is unintentional. Apparently, there are
insufficient orderings to ensure the correct order.

I suspect this will fix the problem:


       configuration.add("DocumentLinker", documentLinker);
       configuration.add("JavaScriptSupport", javaScriptSupport,
"after:DocumentLinker");
       configuration.add("RenderSupport", renderSupport,
"after:JavaScriptSupport");
       configuration.add("InjectDefaultStyleheet",
injectDefaultStylesheet, "after:JavaScriptSupport");
       configuration.add("ClientBehaviorSupport",
clientBehaviorSupport, "after:JavaScriptSupport");
       configuration.add("Heartbeat", heartbeat, "after:ClientBehaviorSupport");
       configuration.add("DefaultValidationDecorator",
defaultValidationDecorator, "after:Heartbeat");

In this way, the finally Heartbeat.end() will execute while the
ClientBehaviorSupport is in scope.


On Fri, Sep 3, 2010 at 7:14 AM, Blower, Andy <andy.blo...@proquest.co.uk> wrote:
> I was already on that Jim, good suggestion though - and it works (or breaks I 
> suppose) so I've been able to debug this issue a little.
>
> ClientBehavourSupport is pushed into the env and used 110-ish times before 
> it's popped by line 2041 of TapestryModule which is the clientBehaviorSupport 
> MarkupRendererFilter at the end of rendering the page markup. The error is 
> then thrown by a heartbeat MarkupRendererFilter which peekRequired() for 
> ClientBehavourSupport and fails.
>
> Is this a problem with the ordering of the MarkupRendererFilter's do you 
> think?
>
> 5.1.0.5:
>
>        configuration.add("DocumentLinker", documentLinker, 
> "before:RenderSupport");
>        configuration.add("RenderSupport", renderSupport);
>        configuration.add("InjectDefaultStyleheet", injectDefaultStylesheet, 
> "after:RenderSupport");
>        configuration.add("ClientBehaviorSupport", clientBehaviorSupport, 
> "after:RenderSupport");
>        configuration.add("Heartbeat", heartbeat, "after:RenderSupport");
>        configuration.add("DefaultValidationDecorator", 
> defaultValidationDecorator, "after:Heartbeat");
>
> 5.2.0:
>
>        configuration.add("DocumentLinker", documentLinker);
>        configuration.add("JavaScriptSupport", javaScriptSupport, 
> "after:DocumentLinker");
>        configuration.add("RenderSupport", renderSupport, 
> "after:JavaScriptSupport");
>        configuration.add("InjectDefaultStyleheet", injectDefaultStylesheet, 
> "after:RenderSupport");
>        configuration.add("ClientBehaviorSupport", clientBehaviorSupport, 
> "after:JavaScriptSupport");
>        configuration.add("Heartbeat", heartbeat, "after:RenderSupport");
>        configuration.add("DefaultValidationDecorator", 
> defaultValidationDecorator, "after:Heartbeat");
>
> Why did this change? What should I change it to so this works?
>
> Thanks,
>
> Andy
>
>> -----Original Message-----
>> From: Jim O'Callaghan [mailto:jc1000...@yahoo.co.uk]
>> Sent: 02 September 2010 15:58
>> To: 'Tapestry users'
>> Subject: RE: [T5.2] No object of type ClientBehaviorSupport is
>> available from the Environment
>>
>> Can't reproduce Andy and not a solution I'm afraid, but can you try to
>> run
>> the app through your non-Eclipse environment with debug mode set on the
>> JVM
>> and remote debug it using Eclipse on a socket / shared mem?  Perhaps
>> this
>> would give you some more info.
>>
>> Regards,
>> Jim.
>>
>> -----Original Message-----
>> From: Blower, Andy [mailto:andy.blo...@proquest.co.uk]
>> Sent: 02 September 2010 15:28
>> To: 'Tapestry users'
>> Subject: RE: [T5.2] No object of type ClientBehaviorSupport is
>> available
>> from the Environment
>>
>> Sorry for no update - was on a short holiday over the (UK) bank holiday
>> weekend.
>>
>> Anyway, I thought this had just 'gone-away' yesterday but it hasn't. It
>> happens unless I run it using Eclipse to debug the app, now that really
>> is
>> strange! That's right, a bug that doesn't appear when debugging. Kinda
>> cripples my ability to debug this issue.
>>
>> I'm running it using Jetty 6.1.6 kicked off using run-jetty-run in
>> Eclipse.
>> Are you (or anyone else on the list for that matter) able to reproduce
>> this
>> problem? It only seems to happen with one of our pages
>>
>> > -----Original Message-----
>> > From: Howard Lewis Ship [mailto:hls...@gmail.com]
>> > Sent: 27 August 2010 21:24
>> > To: Tapestry users
>> > Subject: Re: [T5.2] No object of type ClientBehaviorSupport is
>> > available from the Environment
>> >
>> >  Wow, that does seem odd, since all the other environmentals, set up
>> > before the render, seem to be available.
>> >
>> > On Wed, Aug 25, 2010 at 8:29 AM, Blower, Andy
>> > <andy.blo...@proquest.co.uk> wrote:
>> > > Can anyone make sense of this one:
>> > >
>> > > ERROR [16:22:34,848] btpool0-1
>> > (services.TapestryModule.RequestExceptionHandler:62) - Processing of
>> > request failed with uncaught exception: No object of type
>> > org.apache.tapestry5.services.ClientBehaviorSupport is available from
>> > the Environment.  Available types are
>> > org.apache.tapestry5.RenderSupport,
>> > org.apache.tapestry5.internal.services.DocumentLinker,
>> > org.apache.tapestry5.services.javascript.JavaScriptSupport.
>> > > java.lang.RuntimeException: No object of type
>> > org.apache.tapestry5.services.ClientBehaviorSupport is available from
>> > the Environment.  Available types are
>> > org.apache.tapestry5.RenderSupport,
>> > org.apache.tapestry5.internal.services.DocumentLinker,
>> > org.apache.tapestry5.services.javascript.JavaScriptSupport.
>> > >                at
>> >
>> org.apache.tapestry5.internal.services.EnvironmentImpl.peekRequired(Env
>> > ironmentImpl.java:79)
>> > >                at
>> > $Environment_12aa9d2d5fd.peekRequired($Environment_12aa9d2d5fd.java)
>> > >                at
>> > $Environment_12aa9d2d3d5.peekRequired($Environment_12aa9d2d3d5.java)
>> > >                at
>> >
>> org.apache.tapestry5.internal.transform.EnvironmentalWorker$Environment
>> > alConduit.get(EnvironmentalWorker.java:57)
>> > >                at
>> >
>> org.apache.tapestry5.corelib.components.Form._$get_clientBehaviorSuppor
>> > t(Form.java)
>> > >                at
>> >
>> org.apache.tapestry5.corelib.components.Form._$advised$linkFormToZone(F
>> > orm.java:422)
>> > >                at
>> >
>> org.apache.tapestry5.corelib.components.Form$linkFormToZone$invocation_
>> >
>> 12aa9d2e99d.invokeAdvisedMethod(Form$linkFormToZone$invocation_12aa9d2e
>> > 99d.java)
>> > >                at
>> >
>> org.apache.tapestry5.internal.services.AbstractComponentMethodInvocatio
>> > n.proceed(AbstractComponentMethodInvocation.java:77)
>> > >                at
>> >
>> org.apache.tapestry5.internal.transform.HeartbeatDeferredWorker$1$1.run
>> > (HeartbeatDeferredWorker.java:39)
>> > >                at
>> >
>> org.apache.tapestry5.internal.services.HeartbeatImpl.end(HeartbeatImpl.
>> > java:49)
>> > >                at
>> >
>> org.apache.tapestry5.services.TapestryModule$28.renderMarkup(TapestryMo
>> > dule.java:2061)
>> > >                at
>> >
>> $MarkupRenderer_12aa9d2d600.renderMarkup($MarkupRenderer_12aa9d2d600.ja
>> > va)
>> > >                at
>> >
>> org.apache.tapestry5.services.TapestryModule$25.renderMarkup(TapestryMo
>> > dule.java:2008)
>> > >                at
>> >
>> $MarkupRenderer_12aa9d2d600.renderMarkup($MarkupRenderer_12aa9d2d600.ja
>> > va)
>> > >                at
>> >
>> org.apache.tapestry5.services.TapestryModule$24.renderMarkup(TapestryMo
>> > dule.java:1990)
>> > >                at
>> >
>> $MarkupRenderer_12aa9d2d600.renderMarkup($MarkupRenderer_12aa9d2d600.ja
>> > va)
>> > >                at
>> >
>> org.apache.tapestry5.services.TapestryModule$23.renderMarkup(TapestryMo
>> > dule.java:1971)
>> > >                at
>> >
>> $MarkupRenderer_12aa9d2d600.renderMarkup($MarkupRenderer_12aa9d2d600.ja
>> > va)
>> > >                at
>> >
>> $MarkupRenderer_12aa9d2d5fc.renderMarkup($MarkupRenderer_12aa9d2d5fc.ja
>> > va)
>> > >                at
>> >
>> org.apache.tapestry5.internal.services.PageMarkupRendererImpl.renderPag
>> > eMarkup(PageMarkupRendererImpl.java:64)
>> > >                at
>> >
>> $PageMarkupRenderer_12aa9d2d5f9.renderPageMarkup($PageMarkupRenderer_12
>> > aa9d2d5f9.java)
>> > >                at
>> >
>> org.apache.tapestry5.internal.services.PageResponseRendererImpl.renderP
>> > ageResponse(PageResponseRendererImpl.java:69)
>> > >                at
>> >
>> $PageResponseRenderer_12aa9d2d5f8.renderPageResponse($PageResponseRende
>> > rer_12aa9d2d5f8.java)
>> > >                at
>> >
>> $PageResponseRenderer_12aa9d2d454.renderPageResponse($PageResponseRende
>> > rer_12aa9d2d454.java)
>> > >                at
>> >
>> org.apache.tapestry5.internal.services.PageRenderRequestHandlerImpl.han
>> > dle(PageRenderRequestHandlerImpl.java:64)
>> > >                at
>> >
>> org.apache.tapestry5.services.TapestryModule$36.handle(TapestryModule.j
>> > ava:2312)
>> > >                at
>> >
>> $PageRenderRequestHandler_12aa9d2d456.handle($PageRenderRequestHandler_
>> > 12aa9d2d456.java)
>> > >                at
>> >
>> $PageRenderRequestHandler_12aa9d2d42b.handle($PageRenderRequestHandler_
>> > 12aa9d2d42b.java)
>> > >                at
>> >
>> org.apache.tapestry5.internal.services.ComponentRequestHandlerTerminato
>> > r.handlePageRender(ComponentRequestHandlerTerminator.java:48)
>> > >                at
>> >
>> org.apache.tapestry5.services.InitializeActivePageName.handlePageRender
>> > (InitializeActivePageName.java:47)
>> > >                at
>> >
>> $ComponentRequestHandler_12aa9d2d64e.handlePageRender($ComponentRequest
>> > Handler_12aa9d2d64e.java)
>> > >                at
>> >
>> $ComponentRequestHandler_12aa9d2d431.handlePageRender($ComponentRequest
>> > Handler_12aa9d2d431.java)
>> > >                at
>> >
>> com.proquest.apps.corelib.tapestry.dispatchers.RedirectPageRenderDispat
>> > cher.dispatch(RedirectPageRenderDispatcher.java:47)
>> > >                at
>> > $Dispatcher_12aa9d2d433.dispatch($Dispatcher_12aa9d2d433.java)
>> > >                at
>> > $Dispatcher_12aa9d2d3fe.dispatch($Dispatcher_12aa9d2d3fe.java)
>> > >                at
>> >
>> org.apache.tapestry5.services.TapestryModule$RequestHandlerTerminator.s
>> > ervice(TapestryModule.java:320)
>> > >                at
>> >
>> com.proquest.apps.corelib.AppCoreLibModule$13.service(AppCoreLibModule.
>> > java:520)
>> > >                at
>> > $RequestFilter_12aa9d2d3fb.service($RequestFilter_12aa9d2d3fb.java)
>> > >                at
>> > $RequestHandler_12aa9d2d3ff.service($RequestHandler_12aa9d2d3ff.java)
>> > >                at
>> >
>> com.proquest.apps.onesearch.services.OneSearchLocalizationFilter.servic
>> > e(OneSearchLocalizationFilter.java:45)
>> > >                at
>> > $RequestFilter_12aa9d2d401.service($RequestFilter_12aa9d2d401.java)
>> > >                at
>> > $RequestFilter_12aa9d2d3f9.service($RequestFilter_12aa9d2d3f9.java)
>> > >                at
>> > $RequestHandler_12aa9d2d3ff.service($RequestHandler_12aa9d2d3ff.java)
>> > >                at
>> >
>> org.apache.tapestry5.internal.services.RequestErrorFilter.service(Reque
>> > stErrorFilter.java:26)
>> > >                at
>> > $RequestHandler_12aa9d2d3ff.service($RequestHandler_12aa9d2d3ff.java)
>> > >                at
>> >
>> org.apache.tapestry5.services.TapestryModule$4.service(TapestryModule.j
>> > ava:982)
>> > >                at
>> > $RequestHandler_12aa9d2d3ff.service($RequestHandler_12aa9d2d3ff.java)
>> > >                at
>> >
>> org.apache.tapestry5.services.TapestryModule$3.service(TapestryModule.j
>> > ava:972)
>> > >                at
>> > $RequestHandler_12aa9d2d3ff.service($RequestHandler_12aa9d2d3ff.java)
>> > >                at
>> >
>> org.apache.tapestry5.internal.services.StaticFilesFilter.service(Static
>> > FilesFilter.java:90)
>> > >                at
>> > $RequestHandler_12aa9d2d3ff.service($RequestHandler_12aa9d2d3ff.java)
>> > >                at
>> >
>> org.apache.tapestry5.internal.services.URLRewriterRequestFilter.service
>> > (URLRewriterRequestFilter.java:50)
>> > >                at
>> > $RequestHandler_12aa9d2d3ff.service($RequestHandler_12aa9d2d3ff.java)
>> > >                at
>> >
>> com.proquest.apps.onesearch.stats.STLRequestFilter.service(STLRequestFi
>> > lter.java:50)
>> > >                at
>> > $RequestFilter_12aa9d2d400.service($RequestFilter_12aa9d2d400.java)
>> > >                at
>> > $RequestFilter_12aa9d2d3fa.service($RequestFilter_12aa9d2d3fa.java)
>> > >                at
>> > $RequestHandler_12aa9d2d3ff.service($RequestHandler_12aa9d2d3ff.java)
>> > >                at
>> >
>> org.apache.tapestry5.internal.services.CheckForUpdatesFilter$2.invoke(C
>> > heckForUpdatesFilter.java:90)
>> > >                at
>> >
>> org.apache.tapestry5.internal.services.CheckForUpdatesFilter$2.invoke(C
>> > heckForUpdatesFilter.java:80)
>> > >                at
>> >
>> org.apache.tapestry5.ioc.internal.util.ConcurrentBarrier.withRead(Concu
>> > rrentBarrier.java:85)
>> > >                at
>> >
>> org.apache.tapestry5.internal.services.CheckForUpdatesFilter.service(Ch
>> > eckForUpdatesFilter.java:103)
>> > >                at
>> > $RequestHandler_12aa9d2d3ff.service($RequestHandler_12aa9d2d3ff.java)
>> > >                at
>> > $RequestHandler_12aa9d2d3f3.service($RequestHandler_12aa9d2d3f3.java)
>> > >                at
>> >
>> org.apache.tapestry5.services.TapestryModule$HttpServletRequestHandlerT
>> > erminator.service(TapestryModule.java:271)
>> > >                at
>> >
>> org.apache.tapestry5.internal.gzip.GZipFilter.service(GZipFilter.java:5
>> > 3)
>> > >                at
>> >
>> $HttpServletRequestHandler_12aa9d2d3f5.service($HttpServletRequestHandl
>> > er_12aa9d2d3f5.java)
>> > >                at
>> >
>> org.apache.tapestry5.internal.services.IgnoredPathsFilter.service(Ignor
>> > edPathsFilter.java:62)
>> > >                at
>> >
>> $HttpServletRequestFilter_12aa9d2d3f2.service($HttpServletRequestFilter
>> > _12aa9d2d3f2.java)
>> > >                at
>> >
>> $HttpServletRequestHandler_12aa9d2d3f5.service($HttpServletRequestHandl
>> > er_12aa9d2d3f5.java)
>> > >                at
>> >
>> com.proquest.apps.onesearch.email.EmailHttpServletRequestFilter.service
>> > (EmailHttpServletRequestFilter.java:73)
>> > >                at
>> >
>> $HttpServletRequestFilter_12aa9d2d3f0.service($HttpServletRequestFilter
>> > _12aa9d2d3f0.java)
>> > >                at
>> >
>> $HttpServletRequestHandler_12aa9d2d3f5.service($HttpServletRequestHandl
>> > er_12aa9d2d3f5.java)
>> > >                at
>> >
>> com.proquest.apps.onesearch.services.SiteRedirectHttpServletRequestFilt
>> > er.service(SiteRedirectHttpServletRequestFilter.java:48)
>> > >                at
>> >
>> $HttpServletRequestFilter_12aa9d2d3ef.service($HttpServletRequestFilter
>> > _12aa9d2d3ef.java)
>> > >                at
>> >
>> $HttpServletRequestHandler_12aa9d2d3f5.service($HttpServletRequestHandl
>> > er_12aa9d2d3f5.java)
>> > >                at
>> >
>> org.apache.tapestry5.services.TapestryModule$2.service(TapestryModule.j
>> > ava:926)
>> > >                at
>> >
>> $HttpServletRequestHandler_12aa9d2d3f5.service($HttpServletRequestHandl
>> > er_12aa9d2d3f5.java)
>> > >                at
>> >
>> $HttpServletRequestHandler_12aa9d2d3ec.service($HttpServletRequestHandl
>> > er_12aa9d2d3ec.java)
>> > >                at
>> > org.apache.tapestry5.TapestryFilter.doFilter(TapestryFilter.java:147)
>> > >                at
>> >
>> org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHa
>> > ndler.java:1084)
>> > >                at
>> >
>> org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:360
>> > )
>> > >                at
>> >
>> org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:
>> > 216)
>> > >                at
>> >
>> org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181
>> > )
>> > >                at
>> >
>> org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:722
>> > )
>> > >                at
>> > org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:404)
>> > >                at
>> >
>> org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139
>> > )
>> > >                at org.mortbay.jetty.Server.handle(Server.java:324)
>> > >                at
>> >
>> org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505)
>> > >                at
>> >
>> org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConn
>> > ection.java:828)
>> > >                at
>> > org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:514)
>> > >                at
>> > org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
>> > >                at
>> > org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380)
>> > >                at
>> >
>> org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java
>> > :395)
>> > >                at
>> >
>> org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.j
>> > ava:450)
>> > >
>> > >
>> >
>> >
>> >
>> > --
>> > Howard M. Lewis Ship
>> >
>> > Creator of Apache Tapestry
>> >
>> > The source for Tapestry training, mentoring and support. Contact me
>> to
>> > learn how I can get you up and productive in Tapestry fast!
>> >
>> > (971) 678-5210
>> > http://howardlewisship.com
>> >
>> > ---------------------------------------------------------------------
>> > To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
>> > For additional commands, e-mail: users-h...@tapestry.apache.org
>> >
>>
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
>> For additional commands, e-mail: users-h...@tapestry.apache.org
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
>> For additional commands, e-mail: users-h...@tapestry.apache.org
>>
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
> For additional commands, e-mail: users-h...@tapestry.apache.org
>
>



-- 
Howard M. Lewis Ship

Creator of Apache Tapestry

The source for Tapestry training, mentoring and support. Contact me to
learn how I can get you up and productive in Tapestry fast!

(971) 678-5210
http://howardlewisship.com

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

Reply via email to