Return-Path: X-Original-To: apmail-felix-dev-archive@www.apache.org Delivered-To: apmail-felix-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 1AD9A10697 for ; Mon, 22 Apr 2013 14:59:18 +0000 (UTC) Received: (qmail 26649 invoked by uid 500); 22 Apr 2013 14:59:17 -0000 Delivered-To: apmail-felix-dev-archive@felix.apache.org Received: (qmail 26574 invoked by uid 500); 22 Apr 2013 14:59:17 -0000 Mailing-List: contact dev-help@felix.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@felix.apache.org Delivered-To: mailing list dev@felix.apache.org Received: (qmail 26465 invoked by uid 99); 22 Apr 2013 14:59:17 -0000 Received: from arcas.apache.org (HELO arcas.apache.org) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 22 Apr 2013 14:59:17 +0000 Date: Mon, 22 Apr 2013 14:59:17 +0000 (UTC) From: "Herko ter Horst (JIRA)" To: dev@felix.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Created] (FELIX-4029) Improve use of BundleContext.getServiceReferences() API in ServiceTracker MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 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