配置值如何在Felix中持续存在

时间:2016-03-14 16:20:59

标签: osgi apache-felix

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

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

3 个答案:

答案 0 :(得分:2)

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

在幕后,Felix配置管理服务使用一个或多个PersistenceManager来保留和检索托管服务的配置数据。如果您对这些实施细节感到好奇,可以provides an implementation或者read about them on the Felix website

答案 1 :(得分:0)

配置是OSGi由Configuration Admin Service

处理

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

答案 2 :(得分:0)

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