@Reference
该Reference注解定义了由服务组件运行时提供给其他组件服务的引用。
可以为Java类或其可能适用的任何Java字段声明此注释。根据声明注释的位置,参数可能具有不同的默认值。
可选元素
name
public abstract java.lang.String name
引用的本地名称。如果注释是在类级别上声明的,则此参数是必需的。如果为字段声明了标签,则name参数的默认值为字段的名称。
默认:
”
referenceInterface
公共抽象java.lang.Class <?> referenceInterface
服务接口的名称。服务组件运行时使用此名称代表该组件访问服务。如果注释是在类级别上声明的,则此参数是必需的。如果为字段声明了注释,则interface参数的默认值为字段的类型。
默认:
org.apache.felix.scr.annotations.AutoDetect.class
cardinality
public abstract ReferenceCardinality cardinality
服务参考的基数。它必须是0…1、1…1、0…n和1…n中的一个。
默认:
org.apache.felix.scr.annotations.ReferenceCardinality.MANDATORY_UNARY
policy
public abstract ReferencePolicy policy
参考的动态策略。如果是动态的,则该服务将随组件的使用而变得可用。如果是静态的,则该组件将在服务开始和/或消失时被停用并重新激活。
默认:
org.apache.felix.scr.annotations.ReferencePolicy.STATIC
policyOption
public abstract ReferencePolicyOption policyOption
参考的政策选项
以来:
1.7
默认:
org.apache.felix.scr.annotations.ReferencePolicyOption.RELUCTANT
target
public abstract java.lang.String target
服务目标过滤器,用于选择要使用的特定服务。为了能够通过配置属性覆盖此值的值,必须声明此参数。如果未声明参数,则不会生成相应的声明属性。
默认:
”
bind
public abstract java.lang.String bind
服务绑定到组件时要调用的方法的名称。缺省值是通过将引用名称附加到字符串绑定中而创建的名称。该方法必须声明为,public或protected采用采用服务接口类型声明的单个参数。
默认:
”
unbind
public abstract java.lang.String unbind
服务与组件解除绑定时要调用的方法的名称。默认值为通过将引用名称附加到字符串unbind所创建的名称。该方法必须声明为,public或protected采用采用服务接口类型声明的单个参数。
默认:
”
updated
public abstract java.lang.String updated
绑定服务更新其服务注册属性时要调用的方法的名称。默认情况下未设置。
默认:
”
strategy
public abstract ReferenceStrategy strategy
参考策略为参考。ReferenceStrategy.EVENT在这种情况下,可以使用bind和unbind方法,也可以ReferenceStrategy.LOOKUP在组件上下文中查找引用。
默认:
org.apache.felix.scr.annotations.ReferenceStrategy.EVENT
doc:http://javadox.com/org.apache.felix/org.apache.felix.scr.annotations/1.9.8/org/apache/felix/scr/annotations/Reference.html