java - OSGi DS 服务配置和 ServiceTracker

标签 java osgi declarative-services

假设我有一个 OSGi 服务 A,使用 DS 和元类型配置进行声明。

然后让我们调用 B 另一个服务,该服务正在基于属性过滤器跟踪任何不属于 A 配置的对象。

在 A 中是否有可能访问服务属性并在运行时更新它们,以便 B 注意到更改?

请注意,B 跟踪的属性不是配置属性,而是 A 可以从其自己的配置中推断出的属性,因此理想情况下,A 在解析配置后会在其 @Activate 方法中更新其服务属性。

最佳答案

如果您不关心配置语法与属性的直接耦合,那么有一个更简单的解决方案。

只需在组件 A 的配置中设置服务属性即可。它将直接反射(reflect)为服务属性,然后 B 可以对其进行过滤。

关于java - OSGi DS 服务配置和 ServiceTracker,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38171054/

相关文章:

java - Apache CXF java2ws 插件

java - 导出或设置 ANT_OPTS

osgi - 是否存在对 OSGi 术语、框架及其关系的概述?

java - 在同一进程中加载​​多个共享库

java - OSGi 读取配置

java - JPA Hibernate 希望延迟加载返回空集合

java - 无法运行 Jenkins ,即使在清除它的目录之后

OSGi 声明式服务引用非声明式服务

java - 使用 DS 注释时 Gradle 不生成 SERVICE_COMPONENT