如何覆盖从DS注释生成的bnd Require-Capability?

时间:2016-07-12 07:52:40

标签: osgi declarative-services bnd

我有一个带有“可选”组件的软件包:如果存在一个类型X的服务,则应该启动它,并且当最后一个服务未注册时停用。

此组件是“可选的”:X是否已注册,或者我的组件是否已激活无关紧要。它只是管理X实例的助手。

我的组件声明如下:

@Component
public class MyManager {

  @Reference(cardinality=AT_LEAST_ONE)
  public void addService(X service) { .. }
}

但是,bnd为至少一个服务X生成Require-Capability

我如何告诉bnd我的组件是可选的,所有依赖项都是可选项?我可以改变我的组件的实现来“手动”添加lazynes,但我宁愿使用DS功能。

0 个答案:

没有答案