Herko ter Horst created FELIX-4029:
--------------------------------------
Summary: Improve use of BundleContext.getServiceReferences() API
in ServiceTracker
Key: FELIX-4029
URL: https://issues.apache.org/jira/browse/FELIX-4029
Project: Felix
Issue Type: Improvement
Components: Dependency Manager
Affects Versions: dependencymanager-3.1.0
Reporter: Herko ter Horst
The org.apache.felix.dm.tracker.ServiceTracker implementation currently does
not take full advantage of the BundleContext.getServiceReferences() API when
retrieving initial service references on "open".
The getServiceReferences() method accepts a class name and a filter. The
ServiceTracker accepts either one (but not both). However, it transforms the
class name into a filter and calls getServiceReferences() with only the filter.
This prevents BundleContext implementations from taking advantage of the class
name parameter. At least one implementation (Equinox) indexes service
references by their service interface. The fact that the class name is not
available leads to reduced performance in this case.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira