Yes, exactly. The console output should be a little more clear about this problem now; it more clearly identifies what the IoC container was up to when things failed. 5.1 will improve this further, correctly explaining that you used Configuration when you should have used OrderedConfiguration.
You might also notice new annotations on the various interfaces that explain the details of their extensible configuration. On Sat, Nov 8, 2008 at 10:03 AM, Martijn Brinkers <[EMAIL PROTECTED]> wrote: > oops. I should have read your reply more carefully. You meant that I had > to change the configuration in contributeValidationMessagesSource to an > OrderedConfiguration. > > Martijn > > On Sat, 2008-11-08 at 18:56 +0100, Martijn Brinkers wrote: >> I still get the same exception even with the latest version from svn. >> Something must have been changed between >> tapestry-core-5.2.0.16-20081102.120024-41 (the build that was working) >> and the latest build. >> >> The builds that I use and work: >> >> tapestry5-annotations-5.2.0.16-20081102.120024-44.jar >> tapestry-core-5.2.0.16-20081102.120024-41.jar >> tapestry-ioc-5.2.0.16-20081102.120024-43.jar >> tapestry-spring-5.2.0.16-20081102.120024-41.jar >> tapestry-upload-5.2.0.16-20081102.120024-41.jar >> >> Martijn >> >> >> >> On Fri, 2008-11-07 at 09:39 -0800, Howard Lewis Ship wrote: >> > As part of the fix, that service now has a OrderedConfiguration. This >> > allows your contributions to override Tapestry's default values. >> > >> > On Fri, Nov 7, 2008 at 5:05 AM, Martijn Brinkers <[EMAIL PROTECTED]> wrote: >> > > I tried the snapshot of nov 7'th and got he following exception when I >> > > tried to load a page: >> > > >> > > java.lang.RuntimeException: Exception constructing service >> > > 'ValidationMessagesSource': Error invoking service builder method >> > > org.apache.tapestry5.services.TapestryModule.buildValidationMessagesSource(List, >> > > UpdateListenerHub, AssetFactory) (at TapestryModule.java:885) (for >> > > service 'ValidationMessagesSource'): Error invoking service contribution >> > > method >> > > mitm.mimesecure.web.services.AppModule.contributeValidationMessagesSource(Configuration): >> > > No service implements the interface >> > > org.apache.tapestry5.ioc.Configuration. >> > > at >> > > org.apache.tapestry5.ioc.internal.services.JustInTimeObjectCreator.createObject(JustInTimeObjectCreator.java:75) >> > > at >> > > $ValidationMessagesSource_11d770c90b5.delegate($ValidationMessagesSource_11d770c90b5.java) >> > > at >> > > $ValidationMessagesSource_11d770c90b5.getValidationMessages($ValidationMessagesSource_11d770c90b5.java) >> > > at >> > > org.apache.tapestry5.services.TapestryModule$29.renderMarkup(TapestryModule.java:1567) >> > > at >> > > $MarkupRenderer_11d770c90b6.renderMarkup($MarkupRenderer_11d770c90b6.java) >> > > at >> > > org.apache.tapestry5.services.TapestryModule$28.renderMarkup(TapestryModule.java:1555) >> > > at >> > > $MarkupRenderer_11d770c90b6.renderMarkup($MarkupRenderer_11d770c90b6.java) >> > > at >> > > org.apache.tapestry5.services.TapestryModule$26.renderMarkup(TapestryModule.java:1519) >> > > at >> > > $MarkupRenderer_11d770c90b6.renderMarkup($MarkupRenderer_11d770c90b6.java) >> > > at >> > > org.apache.tapestry5.services.TapestryModule$25.renderMarkup(TapestryModule.java:1489) >> > > at >> > > $MarkupRenderer_11d770c90b6.renderMarkup($MarkupRenderer_11d770c90b6.java) >> > > at >> > > $MarkupRenderer_11d770c90ae.renderMarkup($MarkupRenderer_11d770c90ae.java) >> > > at >> > > org.apache.tapestry5.internal.services.PageMarkupRendererImpl.renderPageMarkup(PageMarkupRendererImpl.java:64) >> > > at >> > > $PageMarkupRenderer_11d770c90ac.renderPageMarkup($PageMarkupRenderer_11d770c90ac.java) >> > > at >> > > org.apache.tapestry5.internal.services.PageResponseRendererImpl.renderPageResponse(PageResponseRendererImpl.java:57) >> > > at >> > > $PageResponseRenderer_11d770c9080.renderPageResponse($PageResponseRenderer_11d770c9080.java) >> > > at >> > > org.apache.tapestry5.internal.services.DefaultRequestExceptionHandler.handleRequestException(DefaultRequestExceptionHandler.java:77) >> > > at >> > > mitm.mimesecure.web.common.RedirectRequestExceptionHandler.handleRequestException(RedirectRequestExceptionHandler.java:105) >> > > at >> > > mitm.mimesecure.web.common.RedirectRequestExceptionHandler.handleRequestException(RedirectRequestExceptionHandler.java:105) >> > > at >> > > $RequestExceptionHandler_11d770c906e.handleRequestException($RequestExceptionHandler_11d770c906e.java) >> > > at >> > > org.apache.tapestry5.internal.services.RequestErrorFilter.service(RequestErrorFilter.java:42) >> > > at >> > > $RequestHandler_11d770c9070.service($RequestHandler_11d770c9070.java) >> > > at >> > > org.apache.tapestry5.services.TapestryModule$3.service(TapestryModule.java:621) >> > > at >> > > $RequestHandler_11d770c9070.service($RequestHandler_11d770c9070.java) >> > > at >> > > org.apache.tapestry5.services.TapestryModule$2.service(TapestryModule.java:611) >> > > at >> > > $RequestHandler_11d770c9070.service($RequestHandler_11d770c9070.java) >> > > at >> > > org.apache.tapestry5.internal.services.StaticFilesFilter.service(StaticFilesFilter.java:85) >> > > at >> > > $RequestHandler_11d770c9070.service($RequestHandler_11d770c9070.java) >> > > at >> > > org.apache.tapestry5.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:93) >> > > at >> > > org.apache.tapestry5.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:1) >> > > at >> > > org.apache.tapestry5.ioc.internal.util.ConcurrentBarrier.withRead(ConcurrentBarrier.java:83) >> > > at >> > > org.apache.tapestry5.internal.services.CheckForUpdatesFilter.service(CheckForUpdatesFilter.java:106) >> > > at >> > > $RequestHandler_11d770c9070.service($RequestHandler_11d770c9070.java) >> > > at >> > > $RequestHandler_11d770c9067.service($RequestHandler_11d770c9067.java) >> > > at >> > > org.apache.tapestry5.services.TapestryModule$16.service(TapestryModule.java:1007) >> > > at >> > > org.apache.tapestry5.internal.services.IgnoredPathsFilter.service(IgnoredPathsFilter.java:62) >> > > at >> > > $HttpServletRequestFilter_11d770c9066.service($HttpServletRequestFilter_11d770c9066.java) >> > > at >> > > $HttpServletRequestHandler_11d770c9068.service($HttpServletRequestHandler_11d770c9068.java) >> > > at >> > > $HttpServletRequestHandler_11d770c9065.service($HttpServletRequestHandler_11d770c9065.java) >> > > at >> > > org.apache.tapestry5.TapestryFilter.doFilter(TapestryFilter.java:179) >> > > at >> > > org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084) >> > > at >> > > org.springframework.security.util.FilterChainProxy.doFilter(FilterChainProxy.java:168) >> > > at >> > > org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:183) >> > > at >> > > org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:138) >> > > at >> > > org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.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:726) >> > > at >> > > org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405) >> > > at >> > > org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152) >> > > 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(HttpConnection.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.java:450) >> > > Caused by: java.lang.RuntimeException: Error invoking service builder >> > > method >> > > org.apache.tapestry5.services.TapestryModule.buildValidationMessagesSource(List, >> > > UpdateListenerHub, AssetFactory) (at TapestryModule.java:885) (for >> > > service 'ValidationMessagesSource'): Error invoking service contribution >> > > method >> > > mitm.mimesecure.web.services.AppModule.contributeValidationMessagesSource(Configuration): >> > > No service implements the interface >> > > org.apache.tapestry5.ioc.Configuration. >> > > at >> > > org.apache.tapestry5.ioc.internal.ServiceBuilderMethodInvoker.createObject(ServiceBuilderMethodInvoker.java:87) >> > > at >> > > org.apache.tapestry5.ioc.internal.SingletonServiceLifecycle.createService(SingletonServiceLifecycle.java:29) >> > > at >> > > org.apache.tapestry5.ioc.internal.LifecycleWrappedServiceCreator.createObject(LifecycleWrappedServiceCreator.java:52) >> > > at >> > > org.apache.tapestry5.ioc.internal.InterceptorStackBuilder.createObject(InterceptorStackBuilder.java:50) >> > > at >> > > org.apache.tapestry5.ioc.internal.RecursiveServiceCreationCheckWrapper.createObject(RecursiveServiceCreationCheckWrapper.java:60) >> > > at >> > > org.apache.tapestry5.ioc.internal.services.JustInTimeObjectCreator.createObject(JustInTimeObjectCreator.java:65) >> > > ... 58 more >> > > Caused by: java.lang.RuntimeException: Error invoking service >> > > contribution method >> > > mitm.mimesecure.web.services.AppModule.contributeValidationMessagesSource(Configuration): >> > > No service implements the interface >> > > org.apache.tapestry5.ioc.Configuration. >> > > at >> > > org.apache.tapestry5.ioc.internal.ContributionDefImpl.invokeMethod(ContributionDefImpl.java:107) >> > > at >> > > org.apache.tapestry5.ioc.internal.ContributionDefImpl.contribute(ContributionDefImpl.java:62) >> > > at >> > > org.apache.tapestry5.ioc.internal.RegistryImpl.addToOrderedConfiguration(RegistryImpl.java:503) >> > > at >> > > org.apache.tapestry5.ioc.internal.RegistryImpl.getOrderedConfiguration(RegistryImpl.java:372) >> > > at >> > > org.apache.tapestry5.ioc.internal.ServiceResourcesImpl.getOrderedConfiguration(ServiceResourcesImpl.java:87) >> > > at >> > > org.apache.tapestry5.ioc.internal.AbstractServiceCreator.addOrderedConfigurationParameter(AbstractServiceCreator.java:131) >> > > at >> > > org.apache.tapestry5.ioc.internal.AbstractServiceCreator.getParameterDefaultsWithConfiguration(AbstractServiceCreator.java:112) >> > > at >> > > org.apache.tapestry5.ioc.internal.ServiceBuilderMethodInvoker.getParameterDefaultsWithConfigurations(ServiceBuilderMethodInvoker.java:46) >> > > at >> > > org.apache.tapestry5.ioc.internal.ServiceBuilderMethodInvoker.createObject(ServiceBuilderMethodInvoker.java:70) >> > > ... 63 more >> > > Caused by: java.lang.RuntimeException: No service implements the >> > > interface org.apache.tapestry5.ioc.Configuration. >> > > at >> > > org.apache.tapestry5.ioc.internal.RegistryImpl.getService(RegistryImpl.java:519) >> > > at >> > > org.apache.tapestry5.ioc.internal.services.MasterObjectProviderImpl.provide(MasterObjectProviderImpl.java:46) >> > > at >> > > $MasterObjectProvider_11d770c903a.provide($MasterObjectProvider_11d770c903a.java) >> > > at >> > > org.apache.tapestry5.ioc.internal.RegistryImpl.getObject(RegistryImpl.java:624) >> > > at >> > > org.apache.tapestry5.ioc.internal.RegistryImpl.getObject(RegistryImpl.java:731) >> > > at >> > > org.apache.tapestry5.ioc.internal.ObjectLocatorImpl.getObject(ObjectLocatorImpl.java:49) >> > > at >> > > org.apache.tapestry5.ioc.internal.util.InternalUtils.calculateInjection(InternalUtils.java:206) >> > > at >> > > org.apache.tapestry5.ioc.internal.util.InternalUtils.calculateParameters(InternalUtils.java:237) >> > > at >> > > org.apache.tapestry5.ioc.internal.util.InternalUtils.calculateParametersForMethod(InternalUtils.java:215) >> > > at >> > > org.apache.tapestry5.ioc.internal.ContributionDefImpl.invokeMethod(ContributionDefImpl.java:90) >> > > ... 71 more >> > > >> > > >> > > --------------------------------------------------------------------- >> > > 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] > > -- Howard M. Lewis Ship Creator Apache Tapestry and Apache HiveMind --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
