Maven SCR插件参考注释目标属性用法

时间:2016-06-20 14:26:28

标签: osgi maven-scr-plugin

您可以通过" target"过滤掉可用的实施方案。 @Reference的属性如下所示:

@Reference(目标="(K1 = V1)&#34) ISomeServiceContract svc1;

我的问题是关于过滤器值。文档说的很少,我很困惑。

http://felix.apache.org/documentation/subprojects/apache-felix-maven-scr-plugin/scr-annotations.html#reference声明" target"属性:

"服务目标过滤器,用于选择要提供的特定服务"。

SCR插件中的过滤器值是否具有特定的语法(即为什么我甚至需要围绕键的括号等于值规范)?是否允许您指定类似"(k1 = v1&& k2 = v2)"或"(k1 = v1 || k2 = v2&&(...))"。

1 个答案:

答案 0 :(得分:1)

语法在OSGi Core规范的“3.2.7过滤语法”章节中进行了解释。您在SCR注释中定义的过滤器是OSGi过滤器。一些例子:

(k1=v1)
(&(k2=v1)(k2=v2))
(&(|(k1=v1)(k2=v2))(k3=v3))

OSGi指定的语法与LDAP搜索过滤器的语法相同。