【发布时间】:2016-08-29 16:35:47
【问题描述】:
我正在开发一个 OSGi 包,它使用 @Reference 作为服务参考。在 Google 中搜索时,我可以看到一些在类级别使用 @References 注释的示例,并且在类内部也只有绑定和取消绑定方法用于所有服务引用。
@References(
@Reference(cardinality= ReferenceCardinality.MANDATORY_MULTIPLE, referenceInterface = TestInterface1.class,policy = ReferencePolicy.DYNAMIC)
@Reference(cardinality= ReferenceCardinality.MANDATORY_MULTIPLE, referenceInterface = TestInterface2.class,policy = ReferencePolicy.DYNAMIC))
class TestComponent {
..
public void bind(TestInterface1 interface)
{}
public void unbind(TestInterface1 interface){}
public void bind(TestInterface2 interface)
{}
public void unbind(TestInterface2 interface){}
}
@Reference 和 @References 有什么区别?是否有使用@References 的任何性能度量/推荐度量?由于所有引用类的绑定和取消绑定方法名称都相同。
【问题讨论】:
-
当谈到像
@Reference这样的Java 类型时,显示完整的包名很重要。在不同的库和包中有很多@Reference注解类型。
标签: java osgi apache-karaf osgi-bundle