I'm having trouble applying service advisor according to the instructions
here:

My TapestryModule contains only this, as per the example on
http://tapestry.apache.org/service-advisors.html :


@Match("*")
  public static void adviseLogging(LoggingAdvisor loggingAdvisor,
Logger logger, MethodAdviceReceiver receiver)
  {
    loggingAdvisor.addLoggingAdvice(logger, receiver);
  }

This leads to a recursive IoC exeption:

2013-04-01 14:35:01,252 [main] ERROR org.apache.tapestry5.ioc.Registry
- Construction of service 'AssetObjectProvider' h

as failed due to recursion: the service depends on itself in some way.
Please check org.apache.tapestry5.internal.servic

es.AssetObjectProvider(AssetSource, TypeCoercer, SymbolSource) (at
AssetObjectProvider.java:45) via org.apache.tapestry5

.services.TapestryModule.bind(ServiceBinder) (at
TapestryModule.java:308) for references to another service that is
itse

lf dependent on service 'AssetObjectProvider'.

2013-04-01 14:35:01,253 [main] ERROR org.apache.tapestry5.ioc.Registry
- Operations trace:

2013-04-01 14:35:01,254 [main] ERROR org.apache.tapestry5.ioc.Registry
- [ 1] Realizing service ServletApplicationInitia

lizer

2013-04-01 14:35:01,255 [main] ERROR org.apache.tapestry5.ioc.Registry
- [ 2] Instantiating service ServletApplicationIn

itializer implementation via
org.apache.tapestry5.services.TapestryModule.buildServletApplicationInitializer(Logger,
Lis

t, ApplicationInitializer) (at TapestryModule.java:1396)

2013-04-01 14:35:01,256 [main] ERROR org.apache.tapestry5.ioc.Registry
- [ 3] Constructing module class org.apache.tapes

try5.services.TapestryModule

2013-04-01 14:35:01,257 [main] ERROR org.apache.tapestry5.ioc.Registry
- [ 4] Determining injection value for parameter

#1 (org.apache.tapestry5.ioc.services.PipelineBuilder)

2013-04-01 14:35:01,258 [main] ERROR org.apache.tapestry5.ioc.Registry
- [ 5] Resolving object of type org.apache.tapest

ry5.ioc.services.PipelineBuilder using MasterObjectProvider

2013-04-01 14:35:01,259 [main] ERROR org.apache.tapestry5.ioc.Registry
- [ 6] Realizing service AssetObjectProvider

2013-04-01 14:35:01,259 [main] ERROR org.apache.tapestry5.ioc.Registry
- [ 7] Invoking com.tsg.fss.web.services.Tapestry

Module.adviseLogging(LoggingAdvisor, Logger, MethodAdviceReceiver) (at
TapestryModule.java:107)

2013-04-01 14:35:01,261 [main] ERROR org.apache.tapestry5.ioc.Registry
- [ 8] Creating plan to invoke public static void

 
com.tsg.fss.web.services.TapestryModule.adviseLogging(org.apache.tapestry5.ioc.services.LoggingAdvisor,org.slf4j.Logger

,org.apache.tapestry5.ioc.MethodAdviceReceiver)

2013-04-01 14:35:01,261 [main] ERROR org.apache.tapestry5.ioc.Registry
- [ 9] Determining injection value for parameter

#1 (org.apache.tapestry5.ioc.services.LoggingAdvisor)

2013-04-01 14:35:01,262 [main] ERROR org.apache.tapestry5.ioc.Registry
- [10] Resolving object of type org.apache.tapest

ry5.ioc.services.LoggingAdvisor using MasterObjectProvider

2013-04-01 14:35:01,263 [main] ERROR org.apache.tapestry5.ioc.Registry
- [11] Realizing service AssetObjectProvider

2013-04-01 14:35:01,268 [main] ERROR
org.apache.tapestry5.services.TapestryModule.AssetObjectProvider -
Construction of

service AssetObjectProvider failed: Exception constructing service
'AssetObjectProvider': Construction of service 'Asset

ObjectProvider' has failed due to recursion: the service depends on
itself in some way. Please check org.apache.tapestry

5.internal.services.AssetObjectProvider(AssetSource, TypeCoercer,
SymbolSource) (at AssetObjectProvider.java:45) via org

.apache.tapestry5.services.TapestryModule.bind(ServiceBinder) (at
TapestryModule.java:308) for references to another ser

vice that is itself dependent on service 'AssetObjectProvider'.


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:308) for references to another service that is
itself dependent on service 'AssetObjectProvider'.

Reply via email to