OSGI配置包

时间:2012-10-25 08:01:34

标签: configuration osgi

我是OSGi世界潜水的新手。 我正在尝试使用以下模块(bundle)开发应用程序:

  • 模型
  • 服务的API
  • 默认服务
  • 网络

假设默认服务包包含内部数据访问服务。因此,它需要 一些数据库访问配置。 将数据库配置放在default-services包中是不对的。 此外,Web捆绑包不应该知道默认服务是如何内部连接的。

我的问题是:OSGi是否有配置包的概念?我的想法是部署一个负责默认服务配置的捆绑包。对此有类似的解决方案吗?

3 个答案:

答案 0 :(得分:4)

您是否查看了ConfigurationAdmin服务?您的捆绑包应使用ConfigurationAdmin接收其配置。如果您在捆绑包中使用声明式服务,DS将自动为您使用ConfigurationAdmin。

答案 1 :(得分:3)

根据您希望的配置方式,片段可能符合您的需求。它们允许您向现有bundle类路径添加额外信息。我们使用它为不同的运行时环境(dev,test,...)提供不同的配置。您只需部署相应的片段包即可获得正确的配置。

答案 2 :(得分:1)

我实际上开发了一个小包,可以使用扩展程序模式检测其他包中的配置数据。在我的例子中,这是一个Jason文件。有一些特殊的技巧来处理密码和二进制文件,如ssl证书。