You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@felix.apache.org by "David Jencks (JIRA)" <ji...@apache.org> on 2016/05/21 05:29:12 UTC

[jira] [Resolved] (FELIX-2923) Get a ServiceFactory.getService() resulted in a cycle message when registering a service inside a DS activation method

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

David Jencks resolved FELIX-2923.
---------------------------------
    Resolution: Not A Bug
      Assignee: David Jencks

Rereading the description after working with circular references again I think that DS is behaving as it is required to by the spec and there's nothing we can fix.  Reopen with an explanation if you disagree....

> Get a ServiceFactory.getService()  resulted in a cycle message when registering a service inside a DS activation method
> -----------------------------------------------------------------------------------------------------------------------
>
>                 Key: FELIX-2923
>                 URL: https://issues.apache.org/jira/browse/FELIX-2923
>             Project: Felix
>          Issue Type: Bug
>          Components: Declarative Services (SCR)
>    Affects Versions:  scr-1.6.0
>            Reporter: David Humeniuk
>            Assignee: David Jencks
>
> I've run into an issue with Felix SCR where I get the message:
> ServiceFactory.getService() resulted in a cycle
> The reason this appers to be occuring is because within an activation method of a service component, call it ServiceAImpl (which provides ServiceA), the component registers another service, call it ServiceB.
> I have another service component, call it ServiceCImpl, which depends on both ServiceA and ServiceB. When ServiceAImpl registers ServiceB, ServiceCImpl is attemted to be activated within the call to activate ServiceAImpl.  As part of the activation, the ServiceCImpl binding methods are called (at least attempted). When the binding method for ServiceA is attempted, the cycle is detected and the component fails to initialize.
> I guess what doesn't make sense is why the SCR will activate ServiceCImpl within the activation method of ServiceAImpl. I wouldn't think that ServiceCImpl would be considered satisfied until after the activation method has exited. Perhaps this is an issue of using declarative services while still registering services directly with the framework?



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)