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

Reply via email to