gpt4 book ai didi

osgi - Karaf 和 OBR 中的功能有什么区别

转载 作者:行者123 更新时间:2023-12-03 14:34:23 24 4
gpt4 key购买 nike

我正在研究部署和更新 OSGI(特别是 Karaf)应用程序的方法。似乎有几种选择。一个是使用 OSGi Bundle Repository (OBR),另一个是使用 Karaf 中的 Features,第三个是使用 Karaf Cave .

我不太确定这些选项有什么不同。他们似乎都在做同样的事情。它们只是相同功能的不同实现吗?有人可以解释这些差异或提供一些建议吗?

最佳答案

Karaf 功能和 OBR 是解决(某种)相同问题的不同方法。两者都允许您将 OSGi 包安装到 OSGi 框架中,但它们决定安装哪些包的方式不同。

使用 Karaf 功能,您提供一个文件(比如 feature.xml),该文件明确列出该功能的所有包的 URL。它们可以存在于文件系统中,或者存在于 Maven 存储库中,或者可以通过 URL 描述的任何其他地方。

另一方面,OBR 会根据需求和功能确定要解决的捆绑包。它将计算出您正在安装的任何内容的传递依赖项作为起点,并确保它们都得到安装。通常,您会配置一个或多个支持 OBR 格式的外部存储库,然后运行时中的 OBR 解析器将从这些存储库中配置包。因此,您可以说“我需要包 org.foo”或“我需要一个实现 org.bar 的 OSGi 服务”,供应商将决定哪些包最适合您的要求。 OBR 比 Karaf 功能更灵活和通用,但如果您只是将一组定义良好的捆绑包安装到一个框架中,该框架已经配备了您需要的基础设施,那么它可能会显得过分。如果组成您的应用程序的捆绑包彼此之间没有依赖关系,它也无济于事 - 您仍然需要将它们全部包含在您的“起始集”中。

区别有点模糊,因为 Karaf 功能允许您在 Maven URL 中指定版本范围,所以即使有一个功能,您也可以在提供的内容方面有点灵活。 Karaf 功能还具有与 OBR 的互操作性,因此您可以根据 OBR 要求编写功能定义文件。

我相信 Karaf Cave 是具有一些功能特性的 OBR 实现。所以它是一个服务器,而不是像功能或 OBR 配置这样的新“技术”。

——
企业 OSGi 实战:http://www.manning.com/cummins

关于osgi - Karaf 和 OBR 中的功能有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8977381/

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