【问题标题】:OSGi and legacy applicationsOSGi 和遗留应用程序
【发布时间】:2012-07-20 21:08:32
【问题描述】:

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

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

我确切地说我正在使用Apache Felix,因为它是特定于实现的。

谢谢

【问题讨论】:

标签: java osgi legacy


【解决方案1】:

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

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

请参阅我的第一个 Apache Karaf 教程以了解其工作原理。本教程仅显示了 OSGi 的设置,但很容易看出您需要在 OSGi 之外执行哪些操作来配置示例。 Karaf Tutorial Part 1 - Installation and First application

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-08-04
    • 1970-01-01
    • 1970-01-01
    • 2011-08-02
    • 2012-01-26
    • 2014-12-09
    • 2020-01-07
    • 1970-01-01
    相关资源
    最近更新 更多