0

在 iPOJO 中,有没有办法读取服务使用者中的服务属性(例如 getProperty(key) )?发布者非常直截了当,但在消费者看来我只能使用过滤器。

谢谢

4

1 回答 1

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

于 2013-11-15T06:33:19.917 回答