Apache Karaf ist ein Teilprojekt von Apache Felix . Es ist als "leichter OSGi-Container" definiert.
Ich verstehe nicht, wann ich das Schwergewicht und wann das Leichtgewicht verwenden soll. Ihre Seite erklärt dies nicht zu viel.
Apache Karaf ist ein Teilprojekt von Apache Felix . Es ist als "leichter OSGi-Container" definiert.
Ich verstehe nicht, wann ich das Schwergewicht und wann das Leichtgewicht verwenden soll. Ihre Seite erklärt dies nicht zu viel.
Antworten:
Das Label "Lightweight OSGi Container" kontrastiert Karaf mit funktionsreicheren OSGi-Containern, nicht mit Felix .
Um Guillaume Nodet (Karafs Autor) von hier aus zu zitieren :
Felix ist nur die OSGi-Kernlaufzeit. Karaf bietet eine auf Felix basierende "Distribution", indem andere Funktionen wie eine Konsole, ein SSH-Remoting-Mechanismus, ein Datei-Deployer und mehr hinzugefügt werden.
In diesem Diagramm der Karaf-Architektur ist Felix (oder eine andere OSGi-Implementierung - derzeit wird auch Equinox unterstützt) die OSGi-Box. Die anderen Boxen sind die von Karaf hinzugefügten Funktionen:
Daher ist es in der Regel sinnvoll, diese zu verwenden, es sei denn, Sie haben bestimmte Anforderungen, die von Karaf nicht erfüllt werden (Zugriff auf die zugrunde liegende Implementierung erforderlich), da dies mehr "out of the box" bietet.
@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 viele andere Funktionen als eine Basiskonsole, das Laden von Dateien, damit Sie tatsächlich Konfigurationsdateien usw. lesen können. Die neueste Zip-Datei ist 19,1 MB groß. Ja. Klein. Es kann problemlos auf kleinen Geräten ausgeführt werden und in Embedded arbeiten.
Was Sie vielleicht denken, ist eher ServiceMix, das Karaf als Kern / Kernel verwendet. Es enthält jedoch CXF-, ActiveMQ-, Camel- und andere Bibliotheken in seiner vollständigen Konfiguration. Selbst dann haben sie minimale, mittlere und volle Größen.
Wirklich, für 99% der Projekte da draußen wäre es 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.
Das Apache-Projekt verwaltet einen universellen OSGi-Container namens Felix. Hier wird als ServiceMix und verwendet
Der Hauptunterschied zwischen ServiceMix und Karaf besteht darin, dass ServiceMix eine Reihe anderer Integrationskomponenten bündelt - ActiveMQ-Nachrichtenbroker, die Camel-Routing-Engine und einige andere Dinge