Just spent a painful afternoon learning something - if you specify no
system properties, Tapestry will fail to initialize if you provide a:

contributeApplicationDefaults(MappedConfiguration<String, String>
configuration)


..method in your TapestryModule.  The symptom is the dreaded recursive
definition exception:

Caused by: org.apache.tapestry5.ioc.internal.OperationException:
Construction of service 'ServiceOverride' has failed due to recursion: the
service depends on itself in some way. Please check
org.apache.tapestry5.ioc.internal.services.ServiceOverrideImpl(Map) (at
ServiceOverrideImpl.java:31) via
org.apache.tapestry5.ioc.services.TapestryIOCModule.bind(ServiceBinder) (at
TapestryIOCModule.java:49) for references to another service that is itself
dependent on service 'ServiceOverride'.

I'm the first to say that Tapestry IoC is all magic and rainbows to me, but
I suspect that's because without any system properties whatsoever, there's
no application default doodad created for my tapestry module to contribute
to.  Is that correct?

Gratefully,

Michael

Reply via email to