You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tapestry.apache.org by "Howard M. Lewis Ship (JIRA)" <de...@tapestry.apache.org> on 2007/11/29 03:17:43 UTC

[jira] Closed: (TAPESTRY-1558) Alias service dependancy fails when using injection while adding TypeCoercer

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

Howard M. Lewis Ship closed TAPESTRY-1558.
------------------------------------------

    Resolution: Won't Fix
      Assignee: Howard M. Lewis Ship

More like "Can't Fix" ... due to the fact that parts of Tapestry IoC are defined inside Tapestry IoC there are some issues.  Here a contribution to TypeCoercer needs to be resolved using the MasterObjectDispatcher which is itself dependent on .... TypeCoercer.  That's the failure.  I wonder if we could identify the exception better, however, so there's a clearer indication of what is causing the dependency cycle.  

> 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
>            Assignee: Howard M. Lewis Ship
>
> 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: dev-unsubscribe@tapestry.apache.org
For additional commands, e-mail: dev-help@tapestry.apache.org