[ 
https://issues.apache.org/jira/browse/TAPESTRY-1558?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12534674
 ] 

Howard M. Lewis Ship commented on TAPESTRY-1558:
------------------------------------------------

This may now be handled better using marker annotations to disambiguate the 
contribution to Alias.

> Alias service dependancy fails when using injection while adding TypeCoercer
> ----------------------------------------------------------------------------
>
>                 Key: TAPESTRY-1558
>                 URL: https://issues.apache.org/jira/browse/TAPESTRY-1558
>             Project: Tapestry
>          Issue Type: Bug
>          Components: Core Components
>    Affects Versions: 5.0.5
>         Environment: windows XP, jetty 5
>            Reporter: Davor Hrg
>
> adding a contribution like this fails:
> public static void contributeTypeCoercer(Configuration<CoercionTuple> 
> configuration, final Session  session)
> works with following:
> public static void contributeTypeCoercer(Configuration<CoercionTuple> 
> configuration,@InjectService("Session") final Session  session)
> the issue is new in 5.0.5-SNAPSHOT
> the version is built localy from latest svn source
> it seems to be related to: TAPESTRY-1425
> exception follows:
> 15:22:00.546 ERROR! [main] 
> org.apache.tapestry.ioc.internal.RecursiveServiceCreationCheckWrapper.createObject(RecursiveServiceCreationCheckWrapper.java:64)
>  >50> Construction of service TypeCoercer failed: Error invoking constructor 
> org.apache.tapestry.ioc.internal.services.TypeCoercerImpl(Collection) (at 
> TypeCoercerImpl.java:101) (for service 'TypeCoercer'): Error invoking service 
> contribution method 
> hr.crup.cbapp.services.AppModule.contributeTypeCoercer(Configuration, 
> Session): Exception constructing service 'Alias': Construction of service 
> 'Alias' has failed due to recursion: the service depends on itself in some 
> way. Please check org.apache.tapestry.services.TapestryModule.build(Log, 
> String, AliasManager, Collection) (at TapestryModule.java:255) for references 
> to another service that is itself dependent on service 'Alias'.
> java.lang.RuntimeException: Error invoking constructor 
> org.apache.tapestry.ioc.internal.services.TypeCoercerImpl(Collection) (at 
> TypeCoercerImpl.java:101) (for service 'TypeCoercer'): Error invoking service 
> contribution method 
> hr.crup.cbapp.services.AppModule.contributeTypeCoercer(Configuration, 
> Session): Exception constructing service 'Alias': Construction of service 
> 'Alias' has failed due to recursion: the service depends on itself in some 
> way. Please check org.apache.tapestry.services.TapestryModule.build(Log, 
> String, AliasManager, Collection) (at TapestryModule.java:255) for references 
> to another service that is itself dependent on service 'Alias'.
>       at 
> org.apache.tapestry.ioc.internal.ConstructorServiceCreator.createObject(ConstructorServiceCreator.java:65)
>       at 
> org.apache.tapestry.ioc.internal.SingletonServiceLifecycle.createService(SingletonServiceLifecycle.java:31)
>       at 
> org.apache.tapestry.ioc.internal.LifecycleWrappedServiceCreator.createObject(LifecycleWrappedServiceCreator.java:49)
>       at 
> org.apache.tapestry.ioc.internal.RecursiveServiceCreationCheckWrapper.createObject(RecursiveServiceCreationCheckWrapper.java:60)
>       at 
> org.apache.tapestry.ioc.internal.services.JustInTimeObjectCreator.createObject(JustInTimeObjectCreator.java:61)
>       at $TypeCoercer_1131af2b520._delegate($TypeCoercer_1131af2b520.java)
>       at $TypeCoercer_1131af2b520.coerce($TypeCoercer_1131af2b520.java)
>       at 
> org.apache.tapestry.ioc.internal.services.SymbolObjectProvider.provide(SymbolObjectProvider.java:53)
>       at $ObjectProvider_1131af2b524.provide($ObjectProvider_1131af2b524.java)
>       at $ObjectProvider_1131af2b51e.provide($ObjectProvider_1131af2b51e.java)
>       at 
> org.apache.tapestry.ioc.internal.RegistryImpl.getObject(RegistryImpl.java:550)
>       at 
> org.apache.tapestry.ioc.internal.RegistryImpl.getObject(RegistryImpl.java:557)
>       at 
> org.apache.tapestry.ioc.internal.ObjectLocatorImpl.getObject(ObjectLocatorImpl.java:50)
>       at 
> org.apache.tapestry.ioc.internal.util.InternalUtils.calculateParameterValue(InternalUtils.java:217)
>       at 
> org.apache.tapestry.ioc.internal.util.InternalUtils.calculateParameters(InternalUtils.java:248)
>       at 
> org.apache.tapestry.ioc.internal.util.InternalUtils.calculateParametersForMethod(InternalUtils.java:226)
>       at 
> org.apache.tapestry.ioc.internal.ServiceBuilderMethodInvoker.createObject(ServiceBuilderMethodInvoker.java:68)
>       at 
> org.apache.tapestry.ioc.internal.SingletonServiceLifecycle.createService(SingletonServiceLifecycle.java:31)
>       at 
> org.apache.tapestry.ioc.internal.LifecycleWrappedServiceCreator.createObject(LifecycleWrappedServiceCreator.java:49)
>       at 
> org.apache.tapestry.ioc.internal.InterceptorStackBuilder.createObject(InterceptorStackBuilder.java:54)
>       at 
> org.apache.tapestry.ioc.internal.RecursiveServiceCreationCheckWrapper.createObject(RecursiveServiceCreationCheckWrapper.java:60)
>       at 
> org.apache.tapestry.ioc.internal.services.JustInTimeObjectCreator.createObject(JustInTimeObjectCreator.java:61)
>       at $Alias_1131af2b521._delegate($Alias_1131af2b521.java)
>       at $Alias_1131af2b521.getObjectProvider($Alias_1131af2b521.java)
>       at 
> org.apache.tapestry.services.TapestryModule$2.provide(TapestryModule.java:631)
>       at $ObjectProvider_1131af2b524.provide($ObjectProvider_1131af2b524.java)
>       at $ObjectProvider_1131af2b51e.provide($ObjectProvider_1131af2b51e.java)
>       at 
> org.apache.tapestry.ioc.internal.RegistryImpl.getObject(RegistryImpl.java:550)
>       at 
> org.apache.tapestry.ioc.internal.RegistryImpl.getObject(RegistryImpl.java:557)
>       at 
> org.apache.tapestry.ioc.internal.ObjectLocatorImpl.getObject(ObjectLocatorImpl.java:50)
>       at 
> org.apache.tapestry.ioc.internal.util.InternalUtils.calculateParameterValue(InternalUtils.java:217)
>       at 
> org.apache.tapestry.ioc.internal.util.InternalUtils.calculateParameters(InternalUtils.java:248)
>       at 
> org.apache.tapestry.ioc.internal.ModuleImpl.instantiateModuleBuilder(ModuleImpl.java:327)
>       at 
> org.apache.tapestry.ioc.internal.ModuleImpl.getModuleBuilder(ModuleImpl.java:273)
>       at 
> org.apache.tapestry.ioc.internal.ServiceResourcesImpl.getModuleBuilder(ServiceResourcesImpl.java:106)
>       at 
> org.apache.tapestry.ioc.internal.ServiceBuilderMethodInvoker.createObject(ServiceBuilderMethodInvoker.java:60)
>       at 
> org.apache.tapestry.ioc.internal.SingletonServiceLifecycle.createService(SingletonServiceLifecycle.java:31)
>       at 
> org.apache.tapestry.ioc.internal.LifecycleWrappedServiceCreator.createObject(LifecycleWrappedServiceCreator.java:49)
>       at 
> org.apache.tapestry.ioc.internal.InterceptorStackBuilder.createObject(InterceptorStackBuilder.java:54)
>       at 
> org.apache.tapestry.ioc.internal.RecursiveServiceCreationCheckWrapper.createObject(RecursiveServiceCreationCheckWrapper.java:60)
>       at 
> org.apache.tapestry.ioc.internal.services.JustInTimeObjectCreator.createObject(JustInTimeObjectCreator.java:61)
>       at 
> $ServletApplicationInitializer_1131af2b51d._delegate($ServletApplicationInitializer_1131af2b51d.java)
>       at 
> $ServletApplicationInitializer_1131af2b51d.initializeApplication($ServletApplicationInitializer_1131af2b51d.java)
>       at org.apache.tapestry.TapestryFilter.init(TapestryFilter.java:86)
>       at org.mortbay.jetty.servlet.FilterHolder.start(FilterHolder.java:71)
>       at 
> org.mortbay.jetty.servlet.WebApplicationHandler.initializeServlets(WebApplicationHandler.java:310)
>       at 
> org.mortbay.jetty.servlet.WebApplicationContext.doStart(WebApplicationContext.java:509)
>       at org.mortbay.util.Container.start(Container.java:72)
>       at org.mortbay.http.HttpServer.doStart(HttpServer.java:708)
>       at org.mortbay.util.Container.start(Container.java:72)
>       at com.iw.plugins.jettyrunner.PluginRunner.launch(PluginRunner.java:282)
>       at com.iw.plugins.jettyrunner.PluginRunner.launch(PluginRunner.java:104)
>       at com.iw.plugins.jettyrunner.PluginRunner.main(PluginRunner.java:75)
> Caused by: java.lang.RuntimeException: Error invoking service contribution 
> method hr.crup.cbapp.services.AppModule.contributeTypeCoercer(Configuration, 
> Session): Exception constructing service 'Alias': Construction of service 
> 'Alias' has failed due to recursion: the service depends on itself in some 
> way. Please check org.apache.tapestry.services.TapestryModule.build(Log, 
> String, AliasManager, Collection) (at TapestryModule.java:255) for references 
> to another service that is itself dependent on service 'Alias'.
>       at 
> org.apache.tapestry.ioc.internal.ContributionDefImpl.invokeMethod(ContributionDefImpl.java:112)
>       at 
> org.apache.tapestry.ioc.internal.ContributionDefImpl.contribute(ContributionDefImpl.java:61)
>       at 
> org.apache.tapestry.ioc.internal.RegistryImpl.addToUnorderedConfiguration(RegistryImpl.java:406)
>       at 
> org.apache.tapestry.ioc.internal.RegistryImpl.getUnorderedConfiguration(RegistryImpl.java:288)
>       at 
> org.apache.tapestry.ioc.internal.ServiceResourcesImpl.getUnorderedConfiguration(ServiceResourcesImpl.java:74)
>       at 
> org.apache.tapestry.ioc.internal.AbstractServiceCreator.addUnorderedConfigurationParameter(AbstractServiceCreator.java:145)
>       at 
> org.apache.tapestry.ioc.internal.AbstractServiceCreator.getParameterDefaultsWithConfiguration(AbstractServiceCreator.java:109)
>       at 
> org.apache.tapestry.ioc.internal.ConstructorServiceCreator.getParameterDefaultsWithConfigurations(ConstructorServiceCreator.java:77)
>       at 
> org.apache.tapestry.ioc.internal.ConstructorServiceCreator.createObject(ConstructorServiceCreator.java:46)
>       ... 52 more
> Caused by: java.lang.RuntimeException: Exception constructing service 
> 'Alias': Construction of service 'Alias' has failed due to recursion: the 
> service depends on itself in some way. Please check 
> org.apache.tapestry.services.TapestryModule.build(Log, String, AliasManager, 
> Collection) (at TapestryModule.java:255) for references to another service 
> that is itself dependent on service 'Alias'.
>       at 
> org.apache.tapestry.ioc.internal.services.JustInTimeObjectCreator.createObject(JustInTimeObjectCreator.java:69)
>       at $Alias_1131af2b521._delegate($Alias_1131af2b521.java)
>       at $Alias_1131af2b521.getObjectProvider($Alias_1131af2b521.java)
>       at 
> org.apache.tapestry.services.TapestryModule$2.provide(TapestryModule.java:631)
>       at $ObjectProvider_1131af2b524.provide($ObjectProvider_1131af2b524.java)
>       at $ObjectProvider_1131af2b51e.provide($ObjectProvider_1131af2b51e.java)
>       at 
> org.apache.tapestry.ioc.internal.RegistryImpl.getObject(RegistryImpl.java:550)
>       at 
> org.apache.tapestry.ioc.internal.RegistryImpl.getObject(RegistryImpl.java:557)
>       at 
> org.apache.tapestry.ioc.internal.ObjectLocatorImpl.getObject(ObjectLocatorImpl.java:50)
>       at 
> org.apache.tapestry.ioc.internal.util.InternalUtils.calculateParameterValue(InternalUtils.java:217)
>       at 
> org.apache.tapestry.ioc.internal.util.InternalUtils.calculateParameters(InternalUtils.java:248)
>       at 
> org.apache.tapestry.ioc.internal.util.InternalUtils.calculateParametersForMethod(InternalUtils.java:226)
>       at 
> org.apache.tapestry.ioc.internal.ContributionDefImpl.invokeMethod(ContributionDefImpl.java:95)
>       ... 60 more
> Caused by: java.lang.IllegalStateException: Construction of service 'Alias' 
> has failed due to recursion: the service depends on itself in some way. 
> Please check org.apache.tapestry.services.TapestryModule.build(Log, String, 
> AliasManager, Collection) (at TapestryModule.java:255) for references to 
> another service that is itself dependent on service 'Alias'.
>       at 
> org.apache.tapestry.ioc.internal.RecursiveServiceCreationCheckWrapper.createObject(RecursiveServiceCreationCheckWrapper.java:52)
>       at 
> org.apache.tapestry.ioc.internal.services.JustInTimeObjectCreator.createObject(JustInTimeObjectCreator.java:61)
>       ... 72 more

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to