【问题标题】:Maven SCR Plugin Reference Annotation Target Attribute UsageMaven SCR 插件参考注解目标属性用法
【发布时间】:2016-06-20 14:26:28
【问题描述】:

您可以通过@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&&(...))”之类的内容。

【问题讨论】:

    标签: osgi maven-scr-plugin


    【解决方案1】:

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

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

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

    【讨论】:

    • 我明白了。我需要使用前缀表示法。非常感谢。
    猜你喜欢
    • 1970-01-01
    • 2014-06-03
    • 2018-05-03
    • 1970-01-01
    • 1970-01-01
    • 2013-08-02
    • 2014-01-28
    • 2021-03-27
    • 1970-01-01
    相关资源
    最近更新 更多