6

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

  • 模型
  • 服务-api
  • 默认服务
  • 网络

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

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

4

3 回答 3

4

您看过 ConfigurationAdmin 服务吗?你的包应该使用 ConfigurationAdmin 来接收他们的配置。如果您在捆绑包中使用声明式服务,DS 将自动为您使用 ConfigurationAdmin。

于 2012-10-25T12:51:52.037 回答
4

根据您期望的配置方式,片段可能适合您的需求。它们允许您向现有的捆绑包类路径添加额外信息。我们使用它来为不同的运行时环境(开发、测试……)提供不同的配置。您只需部署适当的片段包即可获得正确的配置。

于 2012-10-25T14:12:59.687 回答
1

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

于 2012-10-26T09:38:04.390 回答