以下に示すように、@Reference の「ターゲット」属性を使用して、利用可能な実装を除外できます。
@Reference(target="(k1=v1)") ISomeServiceContract svc1;
私の質問はフィルター値についてです。ドキュメントにはそれについてほとんど書かれておらず、私は混乱しています。
http://felix.apache.org/documentation/subprojects/apache-felix-maven-scr-plugin/scr-annotations.html#referenceは、「ターゲット」属性について次のように述べています。
「利用可能にする特定のサービスを選択するためのサービス ターゲット フィルター」。
SCR プラグインのフィルター値には特定の構文がありますか (つまり、キーと値の指定を括弧で囲む必要があるのはなぜですか)? 「(k1=v1&&k2=v2)」や「(k1=v1||k2=v2&&(...))」などを指定できますか。