访问服务使用者(iPOJO)中的服务属性

时间:2013-11-14 15:58:37

标签: osgi ipojo

在iPOJO中,有没有办法在服务消费者中读取服务属性(例如getProperty(key))? 出版商非常直接,但在消费者看来,我只能使用过滤器。

由于

1 个答案:

答案 0 :(得分:1)

您必须使用回调来检索服务属性:

@Bind
public void bindService(HelloService hello, Dictionary<String, Object> properties) {
      // ...
}

@Bind
public void bindService(HelloService hello, Map<String, Object> properties) {
  // ...
}

您甚至可以检索OSGi服务注册:

@Bind
public void bindService(HelloService hello, ServiceReference<HelloService> reference) {
  // ...
}

所有详情均在http://felix.apache.org/documentation/subprojects/apache-felix-ipojo/apache-felix-ipojo-userguide/describing-components/service-requirement-handler.html#note-about-callbacks