【问题标题】:In OSGi DS, how do I get notified when referenced service's properties update?在 OSGi DS 中,如何在引用服务的属性更新时收到通知?
【发布时间】:2012-02-23 20:32:38
【问题描述】:

我有一个 OSGi 服务,它通过注入其他服务的声明性服务来引用它们。我希望在引用服务的属性更新时收到通知。我不希望每次引用服务中的配置更改时我的主要服务都停止,因此我将策略设置为“动态”。

【问题讨论】:

    标签: java service osgi declarative-services


    【解决方案1】:

    DS 1.2 中有一个新功能。

    添加了reference 元素上的updated 属性以命名接收方法 绑定引用的服务更新。

    这将成为即将发布的 Compendium 4.3 规范的一部分。它已经在 Equinox 的 DS 实现中实现(DS 捆绑包的 1.4.0 版)。您必须在组件描述中使用 http://www.osgi.org/xmlns/scr/v1.2.0 命名空间才能使用 updated 属性。 updated 方法使用与 bindunbind 方法相同的方法签名。

    【讨论】:

    • 太棒了。看看 PDE 的组件定义编辑器如何破坏 updated 属性会很有趣。我明天会检查一下。谢谢。
    • 不幸的是,Equinox DS 1.4.0 似乎不存在于 Indigo 中。
    • @oconnor0 Eclipse 版本一年只有一次……为什么不直接使用更高版本的 DS?
    • @Neil Bartlett 1.) 因为我不知道如何仅升级 DS。 2.) 我什至不知道如何在第谷中做到这一点。 3.) 这是一种低优先级;我已经写了一个解决方法。但是,如果您知道如何和/或有关于升级 DS 的链接,我很感兴趣。
    猜你喜欢
    • 1970-01-01
    • 2023-03-21
    • 1970-01-01
    • 2015-01-15
    • 2017-10-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多