代码之家  ›  专栏  ›  技术社区  ›  oconnor0

更改OSGi配置管理服务的配置存储位置?

  •  1
  • oconnor0  · 技术社区  · 14 年前

    有没有办法更改OSGi配置管理服务的配置存储位置?我想让属性文件存在于另一个包中,以便它们存在于源代码管理&中;在部署中,而不是在OSGi存储中。

    2 回复  |  直到 14 年前
        1
  •  0
  •   oconnor0    14 年前

    最后,我决定使用apachefelix文件安装来更新配置管理ManagedService的配置属性。这似乎还行得通。

    这有点混乱,因为当更新文件时,新的配置属性会被推送到托管服务,而不管它们的值是否正确。这意味着在下一次启动时,值仍将是错误的&需要设置为默认值。

        2
  •  0
  •   Neil Bartlett    14 年前

    Config Admin实现不能做到这一点,至少不能通过规范以可移植的方式实现。相反,您需要一个“管理代理”,它通过API将配置数据推送到Config Admin中;它可以从它想要的任何源中派生出配置数据。

    FileInstall是一个非常简单的管理代理示例。如果它不能完全满足你的需要,那么写你自己的也不难。

    ManagedServices仍然需要对传入的配置数据执行验证,并对新的配置数据作出动态响应。OSGi是一个动态平台,Config Admin的设计允许动态重新配置正在运行的系统。