[
https://issues.apache.org/jira/browse/TAPESTRY-1558?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12505010
]
Howard M. Lewis Ship commented on TAPESTRY-1558:
------------------------------------------------
Don't know that this is fixable. There are some "fundamental" services in
Tapestry IoC, including TypeCoercer, MasterObjectDispatcher (and, by extension,
Alias) that are needed just to provide injection (unless ambiguity is removed
with @InjectService).
> 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]