Hi there, I'm trying to advise all my services method with some kind of Logging. I can't manage to achieve that.
Based on http://tapestry.apache.org/tapestry5.1/tapestry-ioc/advice.html I declared my advisor. Whenever I try to inject a service (cf following code), I've got several errors : @Match("*") public static void adviseDummy(@Inject Dummy dummy, MethodAdviceReceiver receiver) { }; However, this will work: @Match("*") public static void adviseDummy( MethodAdviceReceiver receiver) { }; Dummy is an extremely simple service made just for the tests. public interface Dummy { public String doSomething(); } Any ideas about what I am missing? Here it is the stack trace: [ERROR] ioc.Registry Construction of service 'AssetObjectProvider' has failed due to recursion: the service depends on itself in some way. Please check org.apache.tapestry5.internal.services.AssetObjectProvider(AssetSource, TypeCoercer, SymbolSource) (at AssetObjectProvider.java:45) via org.apache.tapestry5.services.TapestryModule.bind(ServiceBinder) (at TapestryModule.java:251) for references to another service that is itself dependent on service 'AssetObjectProvider'. [ERROR] ioc.Registry Operations trace: [ERROR] ioc.Registry [ 1] Realizing service ServletApplicationInitializer [ERROR] ioc.Registry [ 2] Invoking org.apache.tapestry5.services.TapestryModule.buildServletApplicationInitializer(Logger, List, ApplicationInitializer) (at TapestryModule.java:1247) [ERROR] ioc.Registry [ 3] Constructing module class org.apache.tapestry5.services.TapestryModule [ERROR] ioc.Registry [ 4] Determining injection value for parameter #1 (org.apache.tapestry5.ioc.services.PipelineBuilder) [ERROR] ioc.Registry [ 5] Resolving object of type org.apache.tapestry5.ioc.services.PipelineBuilder using MasterObjectProvider [ERROR] ioc.Registry [ 6] Realizing service AssetObjectProvider [ERROR] ioc.Registry [ 7] Invoking com.xxx.tapestry.mytest.services.MyModule.adviseDummy(Dummy, MethodAdviceReceiver) (at MyModule.java:67) [ERROR] ioc.Registry [ 8] Determining injection value for parameter #1 (com.xxx.tapestry.mytest.services.Dummy) [ERROR] ioc.Registry [ 9] Resolving object of type com.xxx.tapestry.mytest.services.Dummy using MasterObjectProvider [ERROR] ioc.Registry [10] Realizing service AssetObjectProvider [ERROR] TapestryModule.AssetObjectProvider Construction of service AssetObjectProvider failed: Exception invoking method com.xxx.tapestry.mytest.services.MyModule.adviseDummy(Dummy, MethodAdviceReceiver) (at MyModule.java:67): Exception constructing service 'AssetObjectProvider': Construction of service 'AssetObjectProvider' has failed due to recursion: the service depends on itself in some way. Please check org.apache.tapestry5.internal.services.AssetObjectProvider(AssetSource, TypeCoercer, SymbolSource) (at AssetObjectProvider.java:45) via org.apache.tapestry5.services.TapestryModule.bind(ServiceBinder) (at TapestryModule.java:251) for references to another service that is itself dependent on service 'AssetObjectProvider'. java.lang.RuntimeException: Exception invoking method com.xxx.tapestry.mytest.services.MyModule.adviseDummy(Dummy, MethodAdviceReceiver) (at MyModule.java:67): Exception constructing service 'AssetObjectProvider': Construction of service 'AssetObjectProvider' has failed due to recursion: the service depends on itself in some way. Please check org.apache.tapestry5.internal.services.AssetObjectProvider(AssetSource, TypeCoercer, SymbolSource) (at AssetObjectProvider.java:45) via org.apache.tapestry5.services.TapestryModule.bind(ServiceBinder) (at TapestryModule.java:251) for references to another service that is itself dependent on service 'AssetObjectProvider'. at org.apache.tapestry5.ioc.internal.AbstractMethodInvokingInstrumenter.invoke(AbstractMethodInvokingInstrumenter.java:113) at org.apache.tapestry5.ioc.internal.ServiceAdvisorImpl.advise(ServiceAdvisorImpl.java:51) at org.apache.tapestry5.ioc.internal.AdvisorStackBuilder$1.run(AdvisorStackBuilder.java:78) at org.apache.tapestry5.ioc.internal.OperationTrackerImpl$1.invoke(OperationTrackerImpl.java:52) at org.apache.tapestry5.ioc.internal.OperationTrackerImpl$1.invoke(OperationTrackerImpl.java:50) at org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:68) at org.apache.tapestry5.ioc.internal.OperationTrackerImpl.run(OperationTrackerImpl.java:48) at org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.run(PerThreadOperationTracker.java:56) at org.apache.tapestry5.ioc.internal.RegistryImpl.run(RegistryImpl.java:936) at org.apache.tapestry5.ioc.internal.AdvisorStackBuilder.createObject(AdvisorStackBuilder.java:74) at org.apache.tapestry5.ioc.internal.InterceptorStackBuilder.createObject(InterceptorStackBuilder.java:52) at org.apache.tapestry5.ioc.internal.RecursiveServiceCreationCheckWrapper.createObject(RecursiveServiceCreationCheckWrapper.java:60) at org.apache.tapestry5.ioc.internal.OperationTrackingObjectCreator$1.invoke(OperationTrackingObjectCreator.java:45) at org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:68) at org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:68) at org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:941) at org.apache.tapestry5.ioc.internal.OperationTrackingObjectCreator.createObject(OperationTrackingObjectCreator.java:49) at org.apache.tapestry5.ioc.internal.services.JustInTimeObjectCreator.obtainObjectFromCreator(JustInTimeObjectCreator.java:68) at org.apache.tapestry5.ioc.internal.services.JustInTimeObjectCreator.createObject(JustInTimeObjectCreator.java:57) at $ObjectProvider_1272dd85a94.delegate($ObjectProvider_1272dd85a94.java) at $ObjectProvider_1272dd85a94.provide($ObjectProvider_1272dd85a94.java) at org.apache.tapestry5.ioc.internal.services.MasterObjectProviderImpl$1.invoke(MasterObjectProviderImpl.java:48) at org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:68) at org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:68) at org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:941) at org.apache.tapestry5.ioc.internal.services.MasterObjectProviderImpl.provide(MasterObjectProviderImpl.java:41) at $MasterObjectProvider_1272dd85a92.provide($MasterObjectProvider_1272dd85a92.java) at org.apache.tapestry5.ioc.internal.RegistryImpl.getObject(RegistryImpl.java:696) at org.apache.tapestry5.ioc.internal.ObjectLocatorImpl.getObject(ObjectLocatorImpl.java:49) at org.apache.tapestry5.ioc.internal.util.InternalUtils.calculateInjection(InternalUtils.java:209) at org.apache.tapestry5.ioc.internal.util.InternalUtils.access$000(InternalUtils.java:43) at org.apache.tapestry5.ioc.internal.util.InternalUtils$2.invoke(InternalUtils.java:256) at org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:68) at org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:68) at org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:941) at org.apache.tapestry5.ioc.internal.util.InternalUtils.calculateParameters(InternalUtils.java:260) at org.apache.tapestry5.ioc.internal.ModuleImpl.instantiateModuleInstance(ModuleImpl.java:414) at org.apache.tapestry5.ioc.internal.ModuleImpl.access$1200(ModuleImpl.java:32) at org.apache.tapestry5.ioc.internal.ModuleImpl$6$1.invoke(ModuleImpl.java:346) at org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:68) at org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:68) at org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:941) at org.apache.tapestry5.ioc.internal.ModuleImpl$6.run(ModuleImpl.java:341) at org.apache.tapestry5.ioc.internal.util.ConcurrentBarrier$2.invoke(ConcurrentBarrier.java:200) at org.apache.tapestry5.ioc.internal.util.ConcurrentBarrier$2.invoke(ConcurrentBarrier.java:198) at org.apache.tapestry5.ioc.internal.util.ConcurrentBarrier.withWrite(ConcurrentBarrier.java:140) at org.apache.tapestry5.ioc.internal.util.ConcurrentBarrier.withWrite(ConcurrentBarrier.java:206) at org.apache.tapestry5.ioc.internal.ModuleImpl$7.invoke(ModuleImpl.java:356) at org.apache.tapestry5.ioc.internal.util.ConcurrentBarrier.withRead(ConcurrentBarrier.java:85) at org.apache.tapestry5.ioc.internal.ModuleImpl.getModuleBuilder(ModuleImpl.java:364) at org.apache.tapestry5.ioc.internal.ServiceResourcesImpl.getModuleBuilder(ServiceResourcesImpl.java:137) at org.apache.tapestry5.ioc.internal.ServiceBuilderMethodInvoker.createObject(ServiceBuilderMethodInvoker.java:47) at org.apache.tapestry5.ioc.internal.OperationTrackingObjectCreator$1.invoke(OperationTrackingObjectCreator.java:45) at org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:68) at org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:68) at org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:941) at org.apache.tapestry5.ioc.internal.OperationTrackingObjectCreator.createObject(OperationTrackingObjectCreator.java:49) at org.apache.tapestry5.ioc.internal.SingletonServiceLifecycle.createService(SingletonServiceLifecycle.java:29) at org.apache.tapestry5.ioc.internal.LifecycleWrappedServiceCreator.createObject(LifecycleWrappedServiceCreator.java:46) at org.apache.tapestry5.ioc.internal.AdvisorStackBuilder.createObject(AdvisorStackBuilder.java:60) at org.apache.tapestry5.ioc.internal.InterceptorStackBuilder.createObject(InterceptorStackBuilder.java:52) at org.apache.tapestry5.ioc.internal.RecursiveServiceCreationCheckWrapper.createObject(RecursiveServiceCreationCheckWrapper.java:60) at org.apache.tapestry5.ioc.internal.OperationTrackingObjectCreator$1.invoke(OperationTrackingObjectCreator.java:45) at org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:68) at org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:68) at org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:941) at org.apache.tapestry5.ioc.internal.OperationTrackingObjectCreator.createObject(OperationTrackingObjectCreator.java:49) at org.apache.tapestry5.ioc.internal.services.JustInTimeObjectCreator.obtainObjectFromCreator(JustInTimeObjectCreator.java:68) at org.apache.tapestry5.ioc.internal.services.JustInTimeObjectCreator.createObject(JustInTimeObjectCreator.java:57) at $ServletApplicationInitializer_1272dd85a91.delegate($ServletApplicationInitializer_1272dd85a91.java) at $ServletApplicationInitializer_1272dd85a91.initializeApplication($ServletApplicationInitializer_1272dd85a91.java) at org.apache.tapestry5.TapestryFilter.init(TapestryFilter.java:85) at org.mortbay.jetty.servlet.FilterHolder.doStart(FilterHolder.java:97) at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39) at org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:589) at org.mortbay.jetty.servlet.Context.startContext(Context.java:139) at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1220) at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:510) at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:448) at org.mortbay.jetty.plugin.Jetty6PluginWebAppContext.doStart(Jetty6PluginWebAppContext.java:110) at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39) at org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:152) at org.mortbay.jetty.handler.ContextHandlerCollection.doStart(ContextHandlerCollection.java:156) at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39) at org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:152) at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39) at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130) at org.mortbay.jetty.Server.doStart(Server.java:222) at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39) at org.mortbay.jetty.plugin.Jetty6PluginServer.start(Jetty6PluginServer.java:132) at org.mortbay.jetty.plugin.AbstractJettyMojo.startJetty(AbstractJettyMojo.java:357) at org.mortbay.jetty.plugin.AbstractJettyMojo.execute(AbstractJettyMojo.java:293) at org.mortbay.jetty.plugin.AbstractJettyRunMojo.execute(AbstractJettyRunMojo.java:203) at org.mortbay.jetty.plugin.Jetty6RunMojo.execute(Jetty6RunMojo.java:184) at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:105) at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:577) at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:324) at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:247) at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:104) at org.apache.maven.cli.MavenCli.execute(MavenCli.java:427) at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:157) at org.apache.maven.cli.MavenCli.main(MavenCli.java:121) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290) at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230) at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409) at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352) Caused by: java.lang.RuntimeException: Exception constructing service 'AssetObjectProvider': Construction of service 'AssetObjectProvider' has failed due to recursion: the service depends on itself in some way. Please check org.apache.tapestry5.internal.services.AssetObjectProvider(AssetSource, TypeCoercer, SymbolSource) (at AssetObjectProvider.java:45) via org.apache.tapestry5.services.TapestryModule.bind(ServiceBinder) (at TapestryModule.java:251) for references to another service that is itself dependent on service 'AssetObjectProvider'. at org.apache.tapestry5.ioc.internal.services.JustInTimeObjectCreator.obtainObjectFromCreator(JustInTimeObjectCreator.java:78) at org.apache.tapestry5.ioc.internal.services.JustInTimeObjectCreator.createObject(JustInTimeObjectCreator.java:57) at $ObjectProvider_1272dd85a94.delegate($ObjectProvider_1272dd85a94.java) at $ObjectProvider_1272dd85a94.provide($ObjectProvider_1272dd85a94.java) at org.apache.tapestry5.ioc.internal.services.MasterObjectProviderImpl$1.invoke(MasterObjectProviderImpl.java:48) at org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:68) at org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:68) at org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:941) at org.apache.tapestry5.ioc.internal.services.MasterObjectProviderImpl.provide(MasterObjectProviderImpl.java:41) at $MasterObjectProvider_1272dd85a92.provide($MasterObjectProvider_1272dd85a92.java) at org.apache.tapestry5.ioc.internal.RegistryImpl.getObject(RegistryImpl.java:696) at org.apache.tapestry5.ioc.internal.ObjectLocatorImpl.getObject(ObjectLocatorImpl.java:49) at org.apache.tapestry5.ioc.internal.util.InternalUtils.calculateInjection(InternalUtils.java:209) at org.apache.tapestry5.ioc.internal.util.InternalUtils.access$000(InternalUtils.java:43) at org.apache.tapestry5.ioc.internal.util.InternalUtils$2.invoke(InternalUtils.java:256) at org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:68) at org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:68) at org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:941) at org.apache.tapestry5.ioc.internal.util.InternalUtils.calculateParameters(InternalUtils.java:260) at org.apache.tapestry5.ioc.internal.util.InternalUtils.calculateParametersForMethod(InternalUtils.java:217) at org.apache.tapestry5.ioc.internal.AbstractMethodInvokingInstrumenter.invoke(AbstractMethodInvokingInstrumenter.java:96) ... 109 more Caused by: org.apache.tapestry5.ioc.internal.OperationException: Construction of service 'AssetObjectProvider' has failed due to recursion: the service depends on itself in some way. Please check org.apache.tapestry5.internal.services.AssetObjectProvider(AssetSource, TypeCoercer, SymbolSource) (at AssetObjectProvider.java:45) via org.apache.tapestry5.services.TapestryModule.bind(ServiceBinder) (at TapestryModule.java:251) for references to another service that is itself dependent on service 'AssetObjectProvider'. at org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:90) at org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:68) at org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:941) at org.apache.tapestry5.ioc.internal.OperationTrackingObjectCreator.createObject(OperationTrackingObjectCreator.java:49) at org.apache.tapestry5.ioc.internal.services.JustInTimeObjectCreator.obtainObjectFromCreator(JustInTimeObjectCreator.java:68) ... 129 more Caused by: java.lang.IllegalStateException: Construction of service 'AssetObjectProvider' has failed due to recursion: the service depends on itself in some way. Please check org.apache.tapestry5.internal.services.AssetObjectProvider(AssetSource, TypeCoercer, SymbolSource) (at AssetObjectProvider.java:45) via org.apache.tapestry5.services.TapestryModule.bind(ServiceBinder) (at TapestryModule.java:251) for references to another service that is itself dependent on service 'AssetObjectProvider'. at org.apache.tapestry5.ioc.internal.RecursiveServiceCreationCheckWrapper.createObject(RecursiveServiceCreationCheckWrapper.java:52) at org.apache.tapestry5.ioc.internal.OperationTrackingObjectCreator$1.invoke(OperationTrackingObjectCreator.java:45) at org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:68) ... 133 more [ERROR] TapestryModule.ServletApplicationInitializer Construction of service ServletApplicationInitializer failed: Unable to instantiate class org.apache.tapestry5.services.TapestryModule as a module: Exception constructing service 'AssetObjectProvider': Exception invoking method com.xxx.tapestry.mytest.services.MyModule.adviseDummy(Dummy, MethodAdviceReceiver) (at MyModule.java:67): Exception constructing service 'AssetObjectProvider': Construction of service 'AssetObjectProvider' has failed due to recursion: the service depends on itself in some way. Please check org.apache.tapestry5.internal.services.AssetObjectProvider(AssetSource, TypeCoercer, SymbolSource) (at AssetObjectProvider.java:45) via org.apache.tapestry5.services.TapestryModule.bind(ServiceBinder) (at TapestryModule.java:251) for references to another service that is itself dependent on service 'AssetObjectProvider'. java.lang.RuntimeException: Unable to instantiate class org.apache.tapestry5.services.TapestryModule as a module: Exception constructing service 'AssetObjectProvider': Exception invoking method com.xxx.tapestry.mytest.services.MyModule.adviseDummy(Dummy, MethodAdviceReceiver) (at MyModule.java:67): Exception constructing service 'AssetObjectProvider': Construction of service 'AssetObjectProvider' has failed due to recursion: the service depends on itself in some way. Please check org.apache.tapestry5.internal.services.AssetObjectProvider(AssetSource, TypeCoercer, SymbolSource) (at AssetObjectProvider.java:45) via org.apache.tapestry5.services.TapestryModule.bind(ServiceBinder) (at TapestryModule.java:251) for references to another service that is itself dependent on service 'AssetObjectProvider'. at org.apache.tapestry5.ioc.internal.ModuleImpl.instantiateModuleInstance(ModuleImpl.java:439) at org.apache.tapestry5.ioc.internal.ModuleImpl.access$1200(ModuleImpl.java:32) at org.apache.tapestry5.ioc.internal.ModuleImpl$6$1.invoke(ModuleImpl.java:346) at org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:68) at org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:68) at org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:941) at org.apache.tapestry5.ioc.internal.ModuleImpl$6.run(ModuleImpl.java:341) at org.apache.tapestry5.ioc.internal.util.ConcurrentBarrier$2.invoke(ConcurrentBarrier.java:200) at org.apache.tapestry5.ioc.internal.util.ConcurrentBarrier$2.invoke(ConcurrentBarrier.java:198) at org.apache.tapestry5.ioc.internal.util.ConcurrentBarrier.withWrite(ConcurrentBarrier.java:140) at org.apache.tapestry5.ioc.internal.util.ConcurrentBarrier.withWrite(ConcurrentBarrier.java:206) at org.apache.tapestry5.ioc.internal.ModuleImpl$7.invoke(ModuleImpl.java:356) at org.apache.tapestry5.ioc.internal.util.ConcurrentBarrier.withRead(ConcurrentBarrier.java:85) at org.apache.tapestry5.ioc.internal.ModuleImpl.getModuleBuilder(ModuleImpl.java:364) at org.apache.tapestry5.ioc.internal.ServiceResourcesImpl.getModuleBuilder(ServiceResourcesImpl.java:137) at org.apache.tapestry5.ioc.internal.ServiceBuilderMethodInvoker.createObject(ServiceBuilderMethodInvoker.java:47) at org.apache.tapestry5.ioc.internal.OperationTrackingObjectCreator$1.invoke(OperationTrackingObjectCreator.java:45) at org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:68) at org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:68) at org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:941) at org.apache.tapestry5.ioc.internal.OperationTrackingObjectCreator.createObject(OperationTrackingObjectCreator.java:49) at org.apache.tapestry5.ioc.internal.SingletonServiceLifecycle.createService(SingletonServiceLifecycle.java:29) at org.apache.tapestry5.ioc.internal.LifecycleWrappedServiceCreator.createObject(LifecycleWrappedServiceCreator.java:46) at org.apache.tapestry5.ioc.internal.AdvisorStackBuilder.createObject(AdvisorStackBuilder.java:60) at org.apache.tapestry5.ioc.internal.InterceptorStackBuilder.createObject(InterceptorStackBuilder.java:52) at org.apache.tapestry5.ioc.internal.RecursiveServiceCreationCheckWrapper.createObject(RecursiveServiceCreationCheckWrapper.java:60) at org.apache.tapestry5.ioc.internal.OperationTrackingObjectCreator$1.invoke(OperationTrackingObjectCreator.java:45) at org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:68) at org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:68) at org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:941) at org.apache.tapestry5.ioc.internal.OperationTrackingObjectCreator.createObject(OperationTrackingObjectCreator.java:49) at org.apache.tapestry5.ioc.internal.services.JustInTimeObjectCreator.obtainObjectFromCreator(JustInTimeObjectCreator.java:68) at org.apache.tapestry5.ioc.internal.services.JustInTimeObjectCreator.createObject(JustInTimeObjectCreator.java:57) at $ServletApplicationInitializer_1272dd85a91.delegate($ServletApplicationInitializer_1272dd85a91.java) at $ServletApplicationInitializer_1272dd85a91.initializeApplication($ServletApplicationInitializer_1272dd85a91.java) at org.apache.tapestry5.TapestryFilter.init(TapestryFilter.java:85) at org.mortbay.jetty.servlet.FilterHolder.doStart(FilterHolder.java:97) at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39) at org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:589) at org.mortbay.jetty.servlet.Context.startContext(Context.java:139) at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1220) at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:510) at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:448) at org.mortbay.jetty.plugin.Jetty6PluginWebAppContext.doStart(Jetty6PluginWebAppContext.java:110) at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39) at org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:152) at org.mortbay.jetty.handler.ContextHandlerCollection.doStart(ContextHandlerCollection.java:156) at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39) at org.mortbay.jetty.handler.HandlerCollection.doStart(HandlerCollection.java:152) at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39) at org.mortbay.jetty.handler.HandlerWrapper.doStart(HandlerWrapper.java:130) at org.mortbay.jetty.Server.doStart(Server.java:222) at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:39) at org.mortbay.jetty.plugin.Jetty6PluginServer.start(Jetty6PluginServer.java:132) at org.mortbay.jetty.plugin.AbstractJettyMojo.startJetty(AbstractJettyMojo.java:357) at org.mortbay.jetty.plugin.AbstractJettyMojo.execute(AbstractJettyMojo.java:293) at org.mortbay.jetty.plugin.AbstractJettyRunMojo.execute(AbstractJettyRunMojo.java:203) at org.mortbay.jetty.plugin.Jetty6RunMojo.execute(Jetty6RunMojo.java:184) at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:105) at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:577) at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:324) at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:247) at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:104) at org.apache.maven.cli.MavenCli.execute(MavenCli.java:427) at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:157) at org.apache.maven.cli.MavenCli.main(MavenCli.java:121) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290) at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230) at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409) at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352) Caused by: java.lang.RuntimeException: Exception constructing service 'AssetObjectProvider': Exception invoking method com.xxx.tapestry.mytest.services.MyModule.adviseDummy(Dummy, MethodAdviceReceiver) (at MyModule.java:67): Exception constructing service 'AssetObjectProvider': Construction of service 'AssetObjectProvider' has failed due to recursion: the service depends on itself in some way. Please check org.apache.tapestry5.internal.services.AssetObjectProvider(AssetSource, TypeCoercer, SymbolSource) (at AssetObjectProvider.java:45) via org.apache.tapestry5.services.TapestryModule.bind(ServiceBinder) (at TapestryModule.java:251) for references to another service that is itself dependent on service 'AssetObjectProvider'. at org.apache.tapestry5.ioc.internal.services.JustInTimeObjectCreator.obtainObjectFromCreator(JustInTimeObjectCreator.java:78) at org.apache.tapestry5.ioc.internal.services.JustInTimeObjectCreator.createObject(JustInTimeObjectCreator.java:57) at $ObjectProvider_1272dd85a94.delegate($ObjectProvider_1272dd85a94.java) at $ObjectProvider_1272dd85a94.provide($ObjectProvider_1272dd85a94.java) at org.apache.tapestry5.ioc.internal.services.MasterObjectProviderImpl$1.invoke(MasterObjectProviderImpl.java:48) at org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:68) at org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:68) at org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:941) at org.apache.tapestry5.ioc.internal.services.MasterObjectProviderImpl.provide(MasterObjectProviderImpl.java:41) at $MasterObjectProvider_1272dd85a92.provide($MasterObjectProvider_1272dd85a92.java) at org.apache.tapestry5.ioc.internal.RegistryImpl.getObject(RegistryImpl.java:696) at org.apache.tapestry5.ioc.internal.ObjectLocatorImpl.getObject(ObjectLocatorImpl.java:49) at org.apache.tapestry5.ioc.internal.util.InternalUtils.calculateInjection(InternalUtils.java:209) at org.apache.tapestry5.ioc.internal.util.InternalUtils.access$000(InternalUtils.java:43) at org.apache.tapestry5.ioc.internal.util.InternalUtils$2.invoke(InternalUtils.java:256) at org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:68) at org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:68) at org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:941) at org.apache.tapestry5.ioc.internal.util.InternalUtils.calculateParameters(InternalUtils.java:260) at org.apache.tapestry5.ioc.internal.ModuleImpl.instantiateModuleInstance(ModuleImpl.java:414) ... 73 more Caused by: java.lang.RuntimeException: Exception invoking method com.xxx.tapestry.mytest.services.MyModule.adviseDummy(Dummy, MethodAdviceReceiver) (at MyModule.java:67): Exception constructing service 'AssetObjectProvider': Construction of service 'AssetObjectProvider' has failed due to recursion: the service depends on itself in some way. Please check org.apache.tapestry5.internal.services.AssetObjectProvider(AssetSource, TypeCoercer, SymbolSource) (at AssetObjectProvider.java:45) via org.apache.tapestry5.services.TapestryModule.bind(ServiceBinder) (at TapestryModule.java:251) for references to another service that is itself dependent on service 'AssetObjectProvider'. at org.apache.tapestry5.ioc.internal.AbstractMethodInvokingInstrumenter.invoke(AbstractMethodInvokingInstrumenter.java:113) at org.apache.tapestry5.ioc.internal.ServiceAdvisorImpl.advise(ServiceAdvisorImpl.java:51) at org.apache.tapestry5.ioc.internal.AdvisorStackBuilder$1.run(AdvisorStackBuilder.java:78) at org.apache.tapestry5.ioc.internal.OperationTrackerImpl$1.invoke(OperationTrackerImpl.java:52) at org.apache.tapestry5.ioc.internal.OperationTrackerImpl$1.invoke(OperationTrackerImpl.java:50) at org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:68) at org.apache.tapestry5.ioc.internal.OperationTrackerImpl.run(OperationTrackerImpl.java:48) at org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.run(PerThreadOperationTracker.java:56) at org.apache.tapestry5.ioc.internal.RegistryImpl.run(RegistryImpl.java:936) at org.apache.tapestry5.ioc.internal.AdvisorStackBuilder.createObject(AdvisorStackBuilder.java:74) at org.apache.tapestry5.ioc.internal.InterceptorStackBuilder.createObject(InterceptorStackBuilder.java:52) at org.apache.tapestry5.ioc.internal.RecursiveServiceCreationCheckWrapper.createObject(RecursiveServiceCreationCheckWrapper.java:60) at org.apache.tapestry5.ioc.internal.OperationTrackingObjectCreator$1.invoke(OperationTrackingObjectCreator.java:45) at org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:68) at org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:68) at org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:941) at org.apache.tapestry5.ioc.internal.OperationTrackingObjectCreator.createObject(OperationTrackingObjectCreator.java:49) at org.apache.tapestry5.ioc.internal.services.JustInTimeObjectCreator.obtainObjectFromCreator(JustInTimeObjectCreator.java:68) ... 92 more Caused by: java.lang.RuntimeException: Exception constructing service 'AssetObjectProvider': Construction of service 'AssetObjectProvider' has failed due to recursion: the service depends on itself in some way. Please check org.apache.tapestry5.internal.services.AssetObjectProvider(AssetSource, TypeCoercer, SymbolSource) (at AssetObjectProvider.java:45) via org.apache.tapestry5.services.TapestryModule.bind(ServiceBinder) (at TapestryModule.java:251) for references to another service that is itself dependent on service 'AssetObjectProvider'. at org.apache.tapestry5.ioc.internal.services.JustInTimeObjectCreator.obtainObjectFromCreator(JustInTimeObjectCreator.java:78) at org.apache.tapestry5.ioc.internal.services.JustInTimeObjectCreator.createObject(JustInTimeObjectCreator.java:57) at $ObjectProvider_1272dd85a94.delegate($ObjectProvider_1272dd85a94.java) at $ObjectProvider_1272dd85a94.provide($ObjectProvider_1272dd85a94.java) at org.apache.tapestry5.ioc.internal.services.MasterObjectProviderImpl$1.invoke(MasterObjectProviderImpl.java:48) at org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:68) at org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:68) at org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:941) at org.apache.tapestry5.ioc.internal.services.MasterObjectProviderImpl.provide(MasterObjectProviderImpl.java:41) at $MasterObjectProvider_1272dd85a92.provide($MasterObjectProvider_1272dd85a92.java) at org.apache.tapestry5.ioc.internal.RegistryImpl.getObject(RegistryImpl.java:696) at org.apache.tapestry5.ioc.internal.ObjectLocatorImpl.getObject(ObjectLocatorImpl.java:49) at org.apache.tapestry5.ioc.internal.util.InternalUtils.calculateInjection(InternalUtils.java:209) at org.apache.tapestry5.ioc.internal.util.InternalUtils.access$000(InternalUtils.java:43) at org.apache.tapestry5.ioc.internal.util.InternalUtils$2.invoke(InternalUtils.java:256) at org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:68) at org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:68) at org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:941) at org.apache.tapestry5.ioc.internal.util.InternalUtils.calculateParameters(InternalUtils.java:260) at org.apache.tapestry5.ioc.internal.util.InternalUtils.calculateParametersForMethod(InternalUtils.java:217) at org.apache.tapestry5.ioc.internal.AbstractMethodInvokingInstrumenter.invoke(AbstractMethodInvokingInstrumenter.java:96) ... 109 more Caused by: org.apache.tapestry5.ioc.internal.OperationException: Construction of service 'AssetObjectProvider' has failed due to recursion: the service depends on itself in some way. Please check org.apache.tapestry5.internal.services.AssetObjectProvider(AssetSource, TypeCoercer, SymbolSource) (at AssetObjectProvider.java:45) via org.apache.tapestry5.services.TapestryModule.bind(ServiceBinder) (at TapestryModule.java:251) for references to another service that is itself dependent on service 'AssetObjectProvider'. at org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:90) at org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:68) at org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:941) at org.apache.tapestry5.ioc.internal.OperationTrackingObjectCreator.createObject(OperationTrackingObjectCreator.java:49) at org.apache.tapestry5.ioc.internal.services.JustInTimeObjectCreator.obtainObjectFromCreator(JustInTimeObjectCreator.java:68) ... 129 more Caused by: java.lang.IllegalStateException: Construction of service 'AssetObjectProvider' has failed due to recursion: the service depends on itself in some way. Please check org.apache.tapestry5.internal.services.AssetObjectProvider(AssetSource, TypeCoercer, SymbolSource) (at AssetObjectProvider.java:45) via org.apache.tapestry5.services.TapestryModule.bind(ServiceBinder) (at TapestryModule.java:251) for references to another service that is itself dependent on service 'AssetObjectProvider'. at org.apache.tapestry5.ioc.internal.RecursiveServiceCreationCheckWrapper.createObject(RecursiveServiceCreationCheckWrapper.java:52) at org.apache.tapestry5.ioc.internal.OperationTrackingObjectCreator$1.invoke(OperationTrackingObjectCreator.java:45) at org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:68) ... 133 more