OSGi / Felix Declarative Services: Filtern der zu bindenden Services.

Ich verwende Apache Felix und seine deklarativen Dienste (Declarative Services, SCR), um die Dienstabhängigkeiten zwischen Bundles zu verbinden.

Wenn ich zum Beispiel Zugriff auf ein java.util.Dictionary benötige, kann ich Folgendes sagen, damit SCR eines bereitstellt:

/**
* @scr.reference name=properties interface=java.util.Dictionary
*/

protected void bindProperties(Dictionary d) {
}

protected void unbindProperties(Dictionary d) {
}

Jetzt habe ich mehr als einen Wörterbuchdienst zur Verfügung und möchte diese mithilfe der Diensteigenschaft "name" filtern (ich möchte nur "name = myDictionary"). Ich kann das mit Code machen (mit einem ServiceTracker), aber ich möchte stattdessen den Filter in der Annotation @scr angeben.

Antworten auf die Frage(4)

Ihre Antwort auf die Frage