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]