我想使用Config Admin service
管理我的服务配置。由于我刚刚开始使用OSGi
,我想逐步介绍它。所以,我想保留一些我现在的应用程序,而不是在OSGi
框架内执行它们。但是,我还希望能够使用这些遗留应用程序中的Config Admin service
,这样他们也可以获得其他OSGi
服务的配置信息。
是否可以使用OSGi
?通过查看规范,我找到了Foreign Applications Access
的规范。我不知道这是否与我的问题有关。如果可能,我可以在哪里找到有关如何使我的遗留应用程序与Config Admin service
交互的资源。
我确切地说,在具体实现的情况下,我正在使用Apache Felix
。
由于
答案 0 :(得分:0)
基本上你想拥有的是可以在内部以及OSGi之外运行的代码。在OSGi中,您希望利用配置管理服务。这是对的吗?
因此,一个好的解决方案是遵循依赖注入的原则。您的代码不应该加载配置,而是应该期望注入配置。例如,使用需要config属性的setter。在OSGi之外,您可以使用弹簧或手动代码注入来设置配置。在OSGi中,您可以使用Activator或蓝图上下文。当你没有在OSGi中运行时,两者都将处于非活动状态,因此始终拥有它们并不会有任何损失。
请参阅我的第一篇Apache Karaf教程,了解其工作原理。本教程仅显示OSGi的设置,但很容易看到在OSGi之外需要做什么来配置示例。 Karaf Tutorial Part 1 - Installation and First application