【问题标题】:How Configuration Values Persist in Felix配置值如何保留在 Felix 中
【发布时间】:2016-03-14 16:20:59
【问题描述】:

我一直在使用 Maven 在 felix 服务器上部署我的包。
Felix/OSGi 让我着迷的一件事是,如果我配置了一个具有一些值的组件并且我再次部署了我的包,即使该配置将再次调用 @Activate 方法但我的值已经放在那里在部署之前仍然存在。

Felix 是如何实现这一点的?/system/console/configMgr 中显示的配置不是我用于创建 OSGi 组件的 Java 类的实例吗?

【问题讨论】:

    标签: osgi apache-felix


    【解决方案1】:

    Configuration Admin 服务(Apache Felix provides an implementation)负责处理这些细节。理想情况下,“如何”是无关紧要的,因为这些是实现细节,但是如果您在专门的环境(例如嵌入式设备)中运行 OSGi 框架,您将不得不选择在限制范围内工作的配置管理提供程序主机平台。

    在后台,Felix 配置管理服务使用一个或多个 PersistenceManagers 来保存和检索托管服务的配置数据。如果您对这些实现细节感到好奇,可以read about them on the Felix websitelook at the source code

    【讨论】:

      【解决方案2】:

      配置是OSGi由Configuration Admin Service处理

      如果您使用 OSGi 容器,例如 Karaf,您会注意到您的配置独立于您的捆绑包 ($KARAF_HOME/etc),并由配置管理服务注入。

      【讨论】:

        【解决方案3】:

        如前所述,配置管理员是您的朋友。在 OSGi enRoute 中,我们有一个关于 Configuration Admin 的页面和一个包含大量 Configuration Admin example code 的示例项目。

        【讨论】:

          猜你喜欢
          • 2011-11-15
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2022-06-28
          相关资源
          最近更新 更多