OSGi和遗留应用程序

时间:2012-07-22 08:41:18

标签: java osgi legacy

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

是否可以使用OSGi?通过查看规范,我找到了Foreign Applications Access的规范。我不知道这是否与我的问题有关。如果可能,我可以在哪里找到有关如何使我的遗留应用程序与Config Admin service交互的资源。

我确切地说,在具体实现的情况下,我正在使用Apache Felix

由于

1 个答案:

答案 0 :(得分:0)

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

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

请参阅我的第一篇Apache Karaf教程,了解其工作原理。本教程仅显示OSGi的设置,但很容易看到在OSGi之外需要做什么来配置示例。 Karaf Tutorial Part 1 - Installation and First application