假设我有一个OSGi服务A,使用DS和元类型配置声明。
然后让我们调用另一个基于属性过滤器跟踪任何对象的服务,该属性过滤器不属于A的配置。
在A中,是否有可能访问服务属性并在运行时更新它们,以便B注意到更改?
请注意,B跟踪的属性不是配置属性,但是A可以从其自己的配置中推断出来,因此理想情况下A将在解析配置后在其@Activate方法中更新其服务属性。
答案 0 :(得分:1)
如果你不关心配置语法与属性的直接耦合,那么有一个更简单的解决方案。
只需在组件A的配置中设置服务属性。它将直接反映为B可以过滤的服务属性。
答案 1 :(得分:0)
您可以在A的激活方法中以编程方式注册服务,以便您可以决定应添加哪些服务属性。