OSGi:Apache Felix 和 Apache Karaf 之间有什么区别?

发布于 08-08 14:54 字数 220 浏览 9 评论 0原文

Apache Karaf阿帕奇菲利克斯。它被定义为“一个轻量级的 OSGi 容器”。

我不明白什么时候应该使用重量级,什么时候应该使用轻量级。他们的网站对此没有太多解释。

Apache Karaf is a sub project of Apache Felix. It is defined as "a lightweight OSGi container".

I don't understand when should I use the heavyweight and when to use the lightweight. Their site doesn't explain this too much.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

也只是曾经2024-08-15 14:54:36

“轻量级 OSGi 容器”标签将 Karaf 与功能更丰富的 OSGi 容器进行对比,不是菲利克斯

引用 Guillaume Nodet(Karaf 的作者)此处的话:

Felix 只是 OSGi 核心运行时。 Karaf 通过添加控制台、SSH 远程机制、文件部署器等其他功能,提供了基于 Felix 的“发行版”。

在此 Karaf 架构图中,Felix(或其他 OSGi 实现 - 目前也支持 Equinox) OSGi 框,其他框是 Karaf 添加的功能:

Karaf Architecture
因此,除非您有 Karaf 无法满足的特定需求(需要访问底层实现),否则使用它通常是有意义的,因为它提供了更多“开箱即用”的功能。

The 'lightweight OSGi container' label is contrasting Karaf with more feature rich OSGi containers, not with Felix.

To quote Guillaume Nodet (Karaf's author) from here:

Felix is just the OSGi core runtime. Karaf provides a "distribution" based on Felix by adding other features such as a console, an SSH remoting mechanism, a file deployer and more.

In this diagram of the Karaf architecture, Felix (or other OSGi implementation - currently Equinox is also supported) is the OSGi box, the other boxes are the features added by Karaf:

Karaf Architecture
Therefore, unless you have specific needs which are not met by Karaf (requiring access to the underlying implementation) it usually makes sense to use this since it provides more 'out of the box'.

以酷2024-08-15 14:54:36

@马塞尔
Karaf 不像 Java EE 服务器那样单一或庞大。这是一个非常纤薄和简约的实现。它是一个核心产品,除了基本控制台、文件加载以便您可以实际读取配置文件等之外没有太多功能。它的最新 zip 文件为 19.1 MB。是的。小的。它可以轻松地在小型设备上运行并以嵌入式方式工作。

您可能想到的是更像 ServiceMix 的东西,它使用 Karaf 作为核心/内核。但它的完整配置中包括 CXF、ActiveMQ、Camel 和其他库。即使如此,它们也有最小、中等和全尺寸。

事实上,对于 99% 的项目来说,直接从 Felix 开始而不使用 Karaf 是没有意义的。

@Marcel
Karaf isn't monolithic or huge like a Java EE server. It is a very slim and minimalist implementation. It is a core product without much functionality other than a basic console, file loading so that you can actually read configuration files, etc. The latest zip file of it is 19.1 MB. Yeah. Small. It can easily run on small devices and work in embedded.

What you may be thinking of is something more like ServiceMix which uses Karaf as a core/kernel. But it includes CXF, ActiveMQ, Camel and other libraries in its full configuration. Even then they have minimal, medium and full sizes.

Really, for 99% of the projects out there it wouldn't make sense to start directly with Felix and not use Karaf instead.

场罚期间2024-08-15 14:54:36

目前,流行的开源 OSGi 容器有以下三种:

 - 春分。它是 Eclipse IDE 核心的模块化 Java 运行时,
  - Knopflerfish,是 OSGi R3 和 OSGi R4 规范的开源实现。 
  -阿帕奇·菲利克斯。是 Apache 软件基金会的开源 OSGi 容器。

http://www.javaworld.com/article/2077837/java-se/java-se-hello-osgi-part-1-bundles-for-beginners.html

Apache 项目维护一个名为 Felix 的通用 OSGi 容器。
这里用作ServiceMix和

ServiceMix 和 Karaf 之间的主要区别是
ServiceMix 捆绑了许多其他集成组件 - ActiveMQ
消息代理、Camel 路由引擎和其他一些东西

根据: http://kevinboone.net/osgitest.html< /a>

Currently, there are three popular open source OSGi containers:

  - Equinox. It is the modular Java runtime at the heart of the Eclipse IDE,
  - Knopflerfish, Is an open source implementation of the OSGi R3 and OSGi R4 specifications. 
  - Apache Felix. Is the open source OSGi container from the Apache Software Foundation.

http://www.javaworld.com/article/2077837/java-se/java-se-hello-osgi-part-1-bundles-for-beginners.html

The Apache project maintains a general-purpose OSGi container called Felix.
Here is used as ServiceMix and

The main difference between the ServiceMix and Karaf is that
ServiceMix bundles a bunch of other integration components — ActiveMQ
message broker, the Camel routing engine, and some other things

According: http://kevinboone.net/osgitest.html

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文