[
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)