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

Osgi 访问服务使用者(iPOJO)中的服务属性,osgi,ipojo,Osgi,Ipojo,在iPOJO中,是否有任何方法可以读取服务使用者中的服务属性(例如getProperty(key))? 出版商非常直截了当,但在消费者看来,我只能使用过滤器 谢谢您必须使用回调来检索服务属性: @Bind public void bindService(HelloService hello, Dictionary<String, Object> properties) { // ... } @Bind public void bindService(HelloServi

在iPOJO中,是否有任何方法可以读取服务使用者中的服务属性(例如getProperty(key))? 出版商非常直截了当,但在消费者看来,我只能使用过滤器


谢谢

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

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

@Bind
public void bindService(HelloService hello,映射属性){
// ...
}
您甚至可以检索OSGi服务注册:

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

所有详细信息都在

谢谢,这也很酷,我可以检测到属性是否已更改:@Modified public void modifiedService(HelloService hello,Map properties){/…}
@Bind
public void bindService(HelloService hello, ServiceReference<HelloService> reference) {
  // ...
}