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


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 is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to