Frage

Apache Karaf ist ein Subprojekt von Apache Felix. Es ist definiert als "leichter OSGI -Container".

Ich verstehe nicht, wann ich das Schwergewicht verwenden soll und wann das Leichtgewicht verwendet werden soll. Ihre Seite erklärt dies nicht zu sehr.

War es hilfreich?

Lösung

Das Etikett "Leichtes OSGI -Container" steht im Gegensatz Karaf Mit mehr Feature Rich OSGI -Containern, nicht mit Felix.

Um Guillaume Nodet zu zitieren (Karafs Autor) von hier:

Felix ist nur die OSGI -Kernlaufzeit. Karaf bietet eine "Verteilung" basierend auf Felix, indem andere Funktionen wie eine Konsole, einen SSH -Remoting -Mechanismus, einen Datei -Bereitsteller und mehr hinzugefügt werden.

In diesem Diagramm der Karaf -Architektur Felix (oder anderer OSGI -Implementierung - derzeit - Tagundnachtgleiche wird ebenfalls unterstützt) ist die OSGI -Box, die anderen Kästchen sind die von Karaf hinzugefügten Funktionen:

Karaf ArchitectureWenn Sie also nicht spezifische Bedürfnisse haben, die von Karaf nicht erfüllt werden (für den Zugriff auf die zugrunde liegende Implementierung) ist es normalerweise sinnvoll, dies zu verwenden, da es mehr „Aus dem Box“ liefert.

Andere Tipps

@Marcel Karaf ist nicht monolithisch oder riesig wie ein Java EE -Server. Es ist eine sehr schlanke und minimalistische Implementierung. Es ist ein Kernprodukt ohne viel Funktionalität als eine grundlegende Konsole, das Laden von Dateien, damit Sie Konfigurationsdateien usw. lesen können. Die neueste Zip -Datei davon ist 19,1 MB. Ja. Klein. Es kann problemlos auf kleinen Geräten laufen und in eingebettet arbeiten.

Was Sie vielleicht denken, ist etwas mehr wie Servicemix, das Karaf als Kern/Kernel verwendet. Es enthält jedoch CXF, Activemq, Kamel und andere Bibliotheken in seiner vollständigen Konfiguration. Selbst dann haben sie minimale, mittlere und vollständige Größen.

Für 99% der Projekte da draußen wäre es wirklich nicht sinnvoll, direkt mit Felix zu beginnen und stattdessen nicht Karaf zu verwenden.

Derzeit gibt es drei beliebte Open -Source -OSGI -Container:

  - 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.javaorld.com/article/2077837/java-se/java-se-hello-osgi-spart-bundles-forners.html

Das Apache-Projekt behält einen allgemeinen OSGI-Container namens Felix bei. Hier wird als Servicemix verwendet und

Der Hauptunterschied zwischen Servicemix und Karaf besteht darin, dass Servicemix eine Reihe anderer Integrationskomponenten bündelt - Activemq Message Broker, die Camel Routing Engine und einige andere Dinge

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

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top