0

我想使用Config Admin service来管理我的服务的配置。由于我刚刚开始使用OSGi,我想一步一步地介绍它。所以,我想保留我现在的一些应用程序,而不是在OSGi框架内执行它们。但是,我也希望能够使用Config Admin service这些遗留应用程序,因此它们也可以像其他OSGi服务一样获取配置信息。

有可能OSGi吗?通过查看规格,我找到了Foreign Applications Access. 不知道是不是和我的问题有关。如果可能的话,我可以在哪里找到有关如何使我的遗留应用程序与Config Admin service.

我确切地说我正在使用Apache Felix它的具体实现。

谢谢

4

1 回答 1

0

基本上你想要的是可以在 OSGi 内部和外部运行的代码。在 OSGi 中,您希望利用配置管理服务。那是对的吗?

所以一个很好的解决方案是遵循依赖注入的原则。您的代码不应该加载配置,而是应该期望配置被注入。例如,在需要配置属性的地方使用 setter。在 OSGi 之外,您可以使用 spring 或手动代码注入来设置配置。在 OSGi 中,您可以使用 Activator 或蓝图上下文。当您不在 OSGi 中运行时,两者都将处于非活动状态,因此始终拥有它们并没有什么坏处。

请参阅我的第一个 Apache Karaf 教程以了解其工作原理。本教程仅显示了 OSGi 的设置,但很容易看出您需要在 OSGi 之外执行哪些操作来配置示例。 Karaf 教程第 1 部分 - 安装和首次应用

于 2012-07-22T20:05:32.647 回答