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