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 (Commented) (JIRA)" <ji...@apache.org> on 2012/01/19 00:22:39 UTC

[jira] [Commented] (TAP5-1823) Construction of service 'ServiceOverride' has failed due to recursion

    [ https://issues.apache.org/jira/browse/TAP5-1823?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13188797#comment-13188797 ] 

Howard M. Lewis Ship commented on TAP5-1823:
--------------------------------------------

I noticed your irritated tweet ... sorry; still, what did Tapestry produce to the console? Did the operation trace help, was it not sufficient (and if so, how could it be improved)?

You can often defuse these circular dependencies using explicit @InjectService OR @Local (if the service is in the same module as the contribution method).  

Also, please see this blog posting: http://tapestryjava.blogspot.com/2011/12/dissecting-tapestry-operation-trace.html
                
> Construction of service 'ServiceOverride' has failed due to recursion
> ---------------------------------------------------------------------
>
>                 Key: TAP5-1823
>                 URL: https://issues.apache.org/jira/browse/TAP5-1823
>             Project: Tapestry 5
>          Issue Type: Bug
>          Components: tapestry-core
>    Affects Versions: 5.3.1
>            Reporter: Alexander Gavrilov
>            Priority: Blocker
>
> After switching to the 5.3 version my simple project stop launching failing with exception: java.lang.IllegalStateException: 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'.
> It's seems that the problem is with TapestryModule#productionModeOverrides. This method contributes to the ServiceOverride and requires SymbolConstants.PRODUCTION_MODE. This dependency requires to realize all SymbolProvider services and if there is any contribution to one of ApplicationDefaults or FactoryDefaults that requires some external service application fails with  circular dependency error.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira