gpt4 book ai didi

java - 如何从 OSGi 框架外部调用 OSGi 服务。?

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:40:24 24 4
gpt4 key购买 nike

我计划使用 Java 并基于某些 MVC 框架开发 Web 应用程序。此应用程序应支持插件。

因此,我计划使用 OSGI 容器 (apache felix) 创建插件并将插件公开为服务(使用 OSGI 的服务注册功能)。

两者(Web 应用程序和 OSGI 服务)将在同一个 JVM 中运行。

所以,我需要有关如何在 OSGI 容器外使用 OSGI 服务(插件)的帮助?

我基本上想在 OSGI 之外调用公开的 OSGI 服务,在本例中是在我的 Web 应用程序中。

提前致谢!

最佳答案

要完成这项工作,您需要在启动 OSGi 框架的类路径中包含该服务的 api 包。然后您需要将此包导出为系统包导出。这是实现服务的 bundle 和非 OSGi 代码可以看到相同服务接口(interface)类的唯一方法。

然后您使用 FrameworkFactory 创建一个您可以启动的 Framework 实例。从框架中,您可以获得 BundleContext 并使用它来获取服务实例。

See embedding felix了解更多详情。

关于java - 如何从 OSGi 框架外部调用 OSGi 服务。?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40742715/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com