Apache Felix とその Declarative Services (SCR) を使用して、バンドル間のサービス依存関係を結び付けています。
たとえば、java.util.Dictionary にアクセスする必要がある場合は、次のように言って SCR に提供させることができます。
/**
* @scr.reference name=properties interface=java.util.Dictionary
*/
protected void bindProperties(Dictionary d) {
}
protected void unbindProperties(Dictionary d) {
}
現在、複数の辞書サービスが利用可能であり、「name」サービス プロパティを使用してそれらをフィルター処理したいと考えています (「name=myDictionary」のみが必要です)。これはコードで (ServiceTracker を使用して) 行うことができますが、代わりに @scr アノテーションでフィルターを指定したいと思います。