[
https://issues.apache.org/jira/browse/FELIX-425?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Felix Meschberger updated FELIX-425:
------------------------------------
Fix Version/s: scr-1.0.0
> DependencyManager does not correctly handle service counting
> ------------------------------------------------------------
>
> Key: FELIX-425
> URL: https://issues.apache.org/jira/browse/FELIX-425
> Project: Felix
> Issue Type: Bug
> Components: Declarative Services (SCR)
> Reporter: Felix Meschberger
> Assignee: Felix Meschberger
> Fix For: scr-1.0.0
>
>
> Whenever a referenced service is added to or removed from the framework, the
> DependencyManager.serviceAdded or serviceRemoved method is called
> respectively. These methods maintain a counter of services registered in the
> system matching the selection criteria (service interface and target filter) :
> - when a service added whose ServiceReference does not match the target
> filter (if any) is ignored. Otherwise the internal
> counter is incremented regardless of whether the service will actually
> be bound or not
> - when a service is removed it is ignored, if it is not bound. The
> internal counter is only decremented if the service is bound.
> The problem is, that upon service removal the counter should be decremented
> if the service matches the target filter regardless of whether the service
> bound or not. Otherwise the counter might not be decremented and the
> dependency may be marked satisfied even though no (or not enough) service(s)
> are available.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.