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

Reply via email to