Apache Karaf - это подпроект Apache Felix . Он определяется как «облегченный контейнер OSGi».
Я не понимаю, когда мне следует использовать тяжелый вес, а когда - легкий. Их сайт не слишком подробно объясняет это.
Apache Karaf - это подпроект Apache Felix . Он определяется как «облегченный контейнер OSGi».
Я не понимаю, когда мне следует использовать тяжелый вес, а когда - легкий. Их сайт не слишком подробно объясняет это.
Ответы:
«Легкого OSGi контейнер» этикетка контрастное Karaf с более функционально богатыми OSGi контейнерами, не с Феликсом .
Процитируем Гийома Ноде (автора Карафа) отсюда :
Феликс - это просто среда исполнения ядра OSGi. Karaf предоставляет «распространение» на основе Felix, добавляя другие функции, такие как консоль, механизм удаленного взаимодействия SSH, средство развертывания файлов и многое другое.
На этой диаграмме архитектуры Karaf Felix (или другая реализация OSGi - в настоящее время также поддерживается Equinox ) - это блок OSGi, остальные блоки - это функции, добавленные Karaf:
Следовательно, если у вас нет особых потребностей, которые не удовлетворяются с помощью Karaf (требующего доступа к базовой реализации), обычно имеет смысл использовать это, поскольку оно предоставляет больше «из коробки».
@Marcel Karaf не является монолитным или огромным, как сервер Java EE. Это очень тонкая и минималистичная реализация. Это основной продукт без особых функций, кроме базовой консоли, загрузки файлов, чтобы вы могли читать файлы конфигурации и т. Д. Последний его zip-файл имеет размер 19,1 МБ. Да. Маленький. Он может легко работать на небольших устройствах и работать во встроенном ПО.
Возможно, вы думаете о чем-то более похожем на ServiceMix, который использует Karaf в качестве ядра / ядра. Но он включает в себя CXF, ActiveMQ, Camel и другие библиотеки в своей полной конфигурации. Уже тогда они бывают минимального, среднего и полного размера.
На самом деле, для 99% проектов было бы бессмысленно начинать напрямую с Феликса и не использовать вместо него Karaf.
В настоящее время существует три популярных контейнера 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.
Проект Apache поддерживает универсальный контейнер OSGi под названием Felix. Здесь используется как ServiceMix и
Основное различие между ServiceMix и Karaf заключается в том, что ServiceMix включает в себя множество других компонентов интеграции - брокер сообщений ActiveMQ, механизм маршрутизации Camel и некоторые другие вещи.
Согласно: http://kevinboone.net/osgitest.html