我在我的应用程序中使用Apache Felix声明性服务,我正在寻找一个描述可以给@Reference
注释的参数的备忘单。我看过一个网页,其中包含一个非常丰富的备忘单(或表格),但我似乎无法找到它。我认为这对很多Felix用户来说都很有用。我正在谈论的参数:
MANDATORY_UNARY, MANDATORY_MULTIPLE, OPTIONAL_UNARY, OPTIONAL_MULTIPLE
EVENT, LOOKUP
DYNAMIC, STATIC
GREEDY, RELUCTANT
基数相当简单,但其他人对我不清楚。他们做了什么以及他们如何运作?
答案 0 :(得分:9)
来自官方OSGI R5 Compendium Spec第281页。
参考基数
参考的基数可以指定为以下四种选择之一:
<强>策略强>
<强>政策强>
静态策略是最简单的策略,也是默认策略。组件实例永远不会看到任何动态。在具有静态策略的引用的任何绑定服务变得不可用之前,组件配置被停用。如果目标服务可用于替换变为不可用的绑定服务,则必须重新激活组件配置并将其绑定到替换服务。
动态策略稍微复杂一些,因为组件实现必须正确处理可能在任何线程上发生的绑定服务集的更改。使用动态策略,SCR可以更改绑定服务集,而无需停用组件配置。如果组件使用事件策略来访问服务,则组件实例将通过调用bind和unbind方法来通知绑定服务集的更改。
政策选项
其他felix特定资源
[Felic SCR Annotations] (http://felix.apache.org/documentation/subprojects/apache-felix-maven-scr-plugin/scr-annotations.html)