您可以通过@Reference 的“target”属性过滤掉可用的实现,如下所示:
@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&&(...))”之类的内容。