当我使用OSGi API(ServiceRegistration的一个实例)时,我可以轻松地在运行时更改服务的属性。如何对声明性服务执行相同的操作?是否有任何基于BndTool注释的解决方案?
非常感谢
答案是否定的。DS 为组件注册的服务从组件属性中获取服务属性。组件属性由 XML 中的组件描述以及使用的任何配置管理员配置设置。由于您无法更改 XML,因此只能更改配置,这不是组件本身应该执行的操作。
如果您需要即时更改服务的服务属性,您的使用案例不在 DS 支持的用例范围内。您将需要使用 OSGi 服务 API。