Apache Karaf jest podprojektem Apache Felix . Jest określany jako „lekki kontener OSGi”.
Nie rozumiem, kiedy powinienem używać wagi ciężkiej, a kiedy lekkiej. Ich strona nie wyjaśnia tego zbyt wiele.
Apache Karaf jest podprojektem Apache Felix . Jest określany jako „lekki kontener OSGi”.
Nie rozumiem, kiedy powinienem używać wagi ciężkiej, a kiedy lekkiej. Ich strona nie wyjaśnia tego zbyt wiele.
Odpowiedzi:
Etykieta „lekki pojemnik OSGi” kontrastuje Karaf z bardziej bogatymi w funkcje pojemnikami OSGi, a nie z Felixem .
Cytując Guillaume Nodet (autora Karafa) stąd :
Felix to tylko podstawowe środowisko uruchomieniowe OSGi. Karaf zapewnia „dystrybucję” opartą na Felixie, dodając inne funkcje, takie jak konsola, mechanizm zdalny SSH, narzędzie do wdrażania plików i inne.
Na tym schemacie architektury Karaf, Felix (lub inna implementacja OSGi - obecnie obsługiwana jest również Equinox ) jest oknem OSGi, pozostałe pola to funkcje dodane przez Karaf:
Dlatego jeśli nie masz konkretnych potrzeb, które nie są spełniane przez Karaf (wymagające dostępu do podstawowej implementacji), zwykle ma to sens, ponieważ zapewnia więcej „po wyjęciu z pudełka”.
@Marcel Karaf nie jest monolityczny ani ogromny, jak serwer Java EE. To bardzo smukła i minimalistyczna realizacja. Jest to podstawowy produkt bez wielu funkcji poza podstawową konsolą, ładowaniem plików, aby można było odczytać pliki konfiguracyjne itp. Najnowszy plik ZIP ma 19,1 MB. Tak. Mały. Może łatwo działać na małych urządzeniach i pracować w osadzonych.
To, o czym możesz pomyśleć, to coś bardziej jak ServiceMix, który używa Karaf jako jądra / jądra. Ale zawiera biblioteki CXF, ActiveMQ, Camel i inne w pełnej konfiguracji. Nawet wtedy mają minimalne, średnie i pełne rozmiary.
Naprawdę, dla 99% projektów nie miałoby sensu rozpoczynać bezpośrednio od Felixa i nie używać zamiast tego Karaf.
Obecnie istnieją trzy popularne kontenery OSGi typu open source:
- 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.
Projekt Apache utrzymuje kontener OSGi ogólnego przeznaczenia o nazwie Felix. Tutaj jest używany jako ServiceMix i
Główną różnicą między ServiceMix i Karaf jest to, że ServiceMix zawiera kilka innych elementów integracji - broker komunikatów ActiveMQ, silnik routingu Camel i kilka innych rzeczy