[
https://issues.apache.org/jira/browse/FELIX-6317?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Tom Watson resolved FELIX-6317.
-------------------------------
Fix Version/s: scr-2.1.22
Resolution: Fixed
> dynamic greedy optional/mandatory references can get wrong service ranking
> --------------------------------------------------------------------------
>
> Key: FELIX-6317
> URL: https://issues.apache.org/jira/browse/FELIX-6317
> Project: Felix
> Issue Type: Bug
> Components: Declarative Services (SCR)
> Reporter: Tom Watson
> Priority: Major
> Fix For: scr-2.1.22
>
>
> @Reference(service = Service.class, cardinality =
> ReferenceCardinality.OPTIONAL, policy = ReferencePolicy.DYNAMIC, policyOption
> = ReferencePolicyOption.GREEDY)
> OR
> @Reference(service = Service.class, cardinality =
> ReferenceCardinality.MANDATORY, policy = ReferencePolicy.DYNAMIC,
> policyOption = ReferencePolicyOption.GREEDY)
> The above references may get injected with a service that is not the highest
> ranked service in scenarios that involve multiple threads registering the
> referenced service with different service rankings at the same time.
> If more than one thread is registering the service type with different
> rankings it is random which will be the final reference bound to the
> component. The expected result is that the highest ranked service is the
> final service bound to the component.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)