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