2009-10-23 95 views

回答

194

'輕量級OSGi容器'標籤與Karaf對比更具功能豐富的OSGi容器,不是Felix

引述紀堯姆機Nodet(Karaf的作者)from here

菲利克斯只是OSGi的核心運行時。 Karaf提供了基於Felix的「發行版」,增加了其他功能,如控制檯,SSH遠程機制,文件部署器等。

在該圖中Karaf架構,菲利克斯(或其他OSGi實現 - 目前Equinox也支持)是OSGi盒,其他框是由Karaf添加的特徵:

Karaf Architecture 因此,除非你有特定的需求,而Karaf沒有滿足這個需求(需要訪問底層的實現),所以通常使用它是有意義的,因爲它提供了更多的「開箱即用」功能。

+2

謝謝。這清除了困惑:) – GabiMe 2009-10-25 13:28:47

+0

謝謝,偉大而乾淨的解釋。 – eduardohl 2012-08-28 17:05:57

+4

任何OSGi容器的一個很好的功能是你可以只選擇你需要的包並將它們部署到你的容器中。所以我的建議是首先構建你的應用程序,然後選擇你需要的。 「只是因爲功能豐富而安裝整個平臺」的建議聽起來有點像回到龐大的Java EE應用服務器。現在我並不是說Apache Karaf的規模與這些規模相差無幾,我只是提出一個觀點,你可以並且應該部署你實際需要的東西。 – 2014-09-19 06:17:34

3

@Marcel Karaf不像Java EE服務器那樣是單一的或巨大的。這是一個非常苗條和簡約的實現。這是一個核心產品,除了基本的控制檯,文件加載以外,沒有太多的功能,所以你可以真正閱讀配置文件等。它的最新的zip文件是19.1 MB。是啊。小。它可以輕鬆地在小型設備上運行,並可嵌入式工作。

您可能會想到的更像ServiceMix,它使用Karaf作爲核心/內核。但它包含CXF,ActiveMQ,Camel和其他完整配置的庫。即使那樣他們也有最小,中等和全尺寸。

真的,對於99%的項目來說,直接開始使用Felix而不使用Karaf是沒有意義的。

-1

目前,有三種流行的開源的OSGi容器:

- 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

Apache項目維護一個名爲菲利克斯通用OSGi容器。 這裏用作的ServiceMix和

的ServiceMix的和Karaf之間的主要區別是 ServiceMix的捆綁其它集成組件的一堆 - 的ActiveMQ 消息代理,駱駝路由引擎,以及一些其他的事情

根據:http://kevinboone.net/osgitest.html