Alias, http://tapestry.apache.org/tapestry5/tapestry-core/guide/alias.html
or decorate http://wiki.apache.org/tapestry/Tapestry5HowToDecorateService http://tapestry.apache.org/tapestry5/tapestry-ioc/decorator.html Davor hrg On Feb 18, 2008 2:34 PM, Geoff Callender <[EMAIL PROTECTED]> wrote: > Thanks again, but sorry - no cigar. > > 00:27:35,038 ERROR [RequestHandler] Construction of service > RequestHandler failed: Error invoking service builder method > org.apache.tapestry.services.TapestryModule.build(Logger, List, > Dispatcher) (at TapestryModule.java:905) (for service > 'RequestHandler'): Error invoking service contribution method > org > .apache > .tapestry > .services > .TapestryModule.contributeRequestHandler(OrderedConfiguration, > Context, RequestExceptionHandler, long, long, LocalizationSetter): > Service interface org.apache.tapestry.services.RequestExceptionHandler > is matched by 2 services: MyRequestExceptionHandler, > RequestExceptionHandler. Automatic dependency resolution requires > that exactly one service implement the interface. > > The broader question I don't yet grasp is how to override the > implementation of a core service. > > As for exception reporting, it occurred to me that it would be much > simpler to solve with a new component. See what you think of this > thought: > > https://issues.apache.org/jira/browse/TAPESTRY-2169 > > Cheers, > > Geoff > > > On 19/02/2008, at 12:16 AM, Davor Hrg wrote: > > > binder.bind(MyRequestExceptionHandler.class); > > > > On Feb 18, 2008 12:00 PM, Geoff Callender > > <[EMAIL PROTECTED]> wrote: > >> Thanks for the quick response, but no joy. Now it fails when the > >> first page is requested because now there are 2 implementations of > >> the > >> one service. > >> > >> 21:55:24,145 ERROR [RequestHandler] Construction of service > >> RequestHandler failed: Error invoking service builder method > >> org.apache.tapestry.services.TapestryModule.build(Logger, List, > >> Dispatcher) (at TapestryModule.java:905) (for service > >> 'RequestHandler'): Error invoking service contribution method > >> org > >> .apache > >> .tapestry > >> .services > >> .TapestryModule.contributeRequestHandler(OrderedConfiguration, > >> Context, RequestExceptionHandler, long, long, LocalizationSetter): > >> Service interface > >> org.apache.tapestry.services.RequestExceptionHandler > >> is matched by 2 services: MyRequestExceptionHandler, > >> RequestExceptionHandler. Automatic dependency resolution requires > >> that exactly one service implement the interface. > >> > >> > >> > >> > >> On 18/02/2008, at 9:51 PM, Davor Hrg wrote: > >> > >>> binder.bind(RequestExceptionHandler.class, > >>> MyRequestExceptionHandler > >>> .class).withId("MyRequestExceptionHandler"); > >>> > >>> On Feb 18, 2008 11:42 AM, Geoff Callender > >>> <[EMAIL PROTECTED]> wrote: > >>>> I can't find the right way to configure AppModule. Latest > >>>> attempt is > >>>> simply to do this: > >>>> > >>>> public static void bind(ServiceBinder binder) { > >>>> binder.bind(RequestExceptionHandler.class, > >>>> MyRequestExceptionHandler.class); > >>>> } > >>>> > >>>> but it seems that's not legal. Stacktrace snippet is: > >>>> > >>>> 21:12:45,403 ERROR [[/jumpstart]] Exception starting filter app > >>>> java.lang.RuntimeException: Service id 'RequestExceptionHandler' > >>>> has > >>>> already been defined by > >>>> org > >>>> .apache > >>>> .tapestry > >>>> .internal.services.DefaultRequestExceptionHandler(RequestPageCache, > >>>> PageResponseRenderer, Logger) (at > >>>> DefaultRequestExceptionHandler.java: > >>>> 37) and may not be redefined by > >>>> jumpstart.web.services.MyRequestExceptionHandler > >>>> (RequestPageCache, PageResponseRenderer, Logger) (at > >>>> MyRequestExceptionHandler.java:43). You should rename one of the > >>>> service builder methods. > >>>> at > >>>> org > >>>> .apache > >>>> .tapestry.ioc.internal.RegistryImpl.<init>(RegistryImpl.java: > >>>> 174) > >>>> > >>>> Geoff > >>>> > >>>> > >>>> On 18/02/2008, at 2:00 AM, Davor Hrg wrote: > >>>> > >>>>> yes :) > >>>>> > >>>>> either that, > >>>>> or pass the value to your ExceptionReporter > >>>>> and have customized page for both dev and production :) > >>>>> > >>>>> Davor Hrg > >>>>> > >>>>> On Feb 17, 2008 2:49 PM, Geoff Callender > >>>>> <[EMAIL PROTECTED]> wrote: > >>>>>> So you're suggesting that I test the value of the system property > >>>>>> tapestry.production-mode in AppModule and use it to condition > >>>>>> whether > >>>>>> I contribute an ExceptionReporter. Is that right? > >>>>>> > >>>>>> > >>>>>> On 17/02/2008, at 11:49 PM, Davor Hrg wrote: > >>>>>> > >>>>>>> you can use that symbol in your custom erro page too, > >>>>>>> either omit the contribution, > >>>>>>> or display different message > >>>>>>> > >>>>>>> On Feb 17, 2008 1:25 PM, Geoff Callender > >>>>>>> <[EMAIL PROTECTED]> wrote: > >>>>>>>> Is there a way to make it use your own custom exception report > >>>>>>>> page > >>>>>>>> only if -Dtapestry.production-mode=true? > >>>>>>>> > >>>>>>>> > >>>>>>>> On 17/02/2008, at 10:47 PM, Geoff Callender wrote: > >>>>>>>> > >>>>>>>>> I like it - I think it's the right default. Just need to make > >>>>>>>>> sure > >>>>>>>>> everyone's aware of it. > >>>>>>>>> > >>>>>>>>> Geoff > >>>>>>>>> > >>>>>>>>> On 17/02/2008, at 9:58 PM, Davor Hrg wrote: > >>>>>>>>> > >>>>>>>>>> it's exactly that > >>>>>>>>>> > >>>>>>>>>> On Feb 17, 2008 11:20 AM, Chris Poulsen > >>>>>>>>>> <[EMAIL PROTECTED]> > >>>>>>>>>> wrote: > >>>>>>>>>>> Hi, > >>>>>>>>>>> > >>>>>>>>>>> Could this be related to the introduction of production > >>>>>>>>>>> mode ? > >>>>>>>>>>> > >>>>>>>>>>> I had to add: > >>>>>>>>>>> > >>>>>>>>>>> <systemProperties> > >>>>>>>>>>> <systemProperty> > >>>>>>>>>>> <name>tapestry.production-mode</name> > >>>>>>>>>>> <value>false</value> > >>>>>>>>>>> </systemProperty> > >>>>>>>>>>> </systemProperties> > >>>>>>>>>>> > >>>>>>>>>>> Into the maven-jetty-plugin configuration to get the nice > >>>>>>>>>>> exception page > >>>>>>>>>>> > >>>>>>>>>>> HTH > >>>>>>>>>>> > >>>>>>>>>>> -- > >>>>>>>>>>> Chris > >>>>>>>>>>> > >>>>>>>>>>> > >>>>>>>>>>> Joost Schouten (ml) wrote: > >>>>>>>>>>>> I'm experiencing the same with 5.0.11 > >>>>>>>>>>>> > >>>>>>>>>>>> Cheers, > >>>>>>>>>>>> Joost > >>>>>>>>>>>> > >>>>>>>>>>>> Geoff Callender wrote: > >>>>>>>>>>>>> Is anyone else seeing this? The exception report page in > >>>>>>>>>>>>> T5.0.10 has > >>>>>>>>>>>>> no detail - I'm getting only a heading and the exception, > >>>>>>>>>>>>> eg. > >>>>>>>>>>>>> An unexpected application exception has occurred. > >>>>>>>>>>>>> > >>>>>>>>>>>>> Render queue error in BeginRender[examples/jodatime/ > >>>>>>>>>>>>> 1:pagelink]: > >>>>>>>>>>>>> java.lang.ClassNotFoundException: caught an exception > >>>>>>>>>>>>> while > >>>>>>>>>>>>> obtaining > >>>>>>>>>>>>> a class file for > >>>>>>>>>>>>> jumpstart.web.components.DateMidnightField > >>>>>>>>>>>>> > >>>>>>>>>>>>> Cheers, > >>>>>>>>>>>>> > >>>>>>>>>>>>> Geoff > >>>>>>>>>>>> > >>>>>>>>>>>> > >>>>>>>>>>>> --------------------------------------------------------------------- > >>>>>>>>>>>> To unsubscribe, e-mail: [EMAIL PROTECTED] > >>>>>>>>>>>> For additional commands, e-mail: [EMAIL PROTECTED] > >>>>>>>>>>>> > >>>>>>>>>>> > >>>>>>>>>>> > >>>>>>>>>>> --------------------------------------------------------------------- > >>>>>>>>>>> To unsubscribe, e-mail: users- > >>>>>>>>>>> [EMAIL PROTECTED] > >>>>>>>>>>> For additional commands, e-mail: users- > >>>>>>>>>>> [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] > >>>>>>> > >>>>>> > >>>>>> > >>>>>> --------------------------------------------------------------------- > >>>>>> 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] > >>> > >> > >> > >> --------------------------------------------------------------------- > >> 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] > > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]