2013-06-27 2 views
47

Я немного смущен тем, что такое Apache Karaf.Что такое Apache Karaf?

Можете ли вы сказать, что Apache Karaf включает в себя, среди прочего:

  • Apache Felix (который является реализация OSGi 4.2 рамок)
  • Apache Aries (который является реализацией стандарта Blueprint)
+15

Я работаю с OSGi почти десять лет, и я также не понимаю смысла в Karaf ;-) –

+0

Связанный вопрос http://stackoverflow.com/questions/1612120/osgi-what-are-the -differences-между-апаш-ФЕЛИКС-и-апаш-karaf –

ответ

53

TLDR: Apache Karaf гораздо более «включен в стоимость». Он также может работать в любой среде исполнения OSGI.

Apache Felix (который является реализация OSGi 4.2 рамок)

Сорт. Apache Karaf может использовать Apache Felix. Apache Karaf также может использовать Equinox или другую среду исполнения OSGi. По умолчанию стандартная загрузка Apache Karaf поставляется с Apache Felix.

Apache Aries (который является реализацией стандарта Blueprint)

Опять же, вроде. Стандартная загрузка Apache Karaf по умолчанию поставляется с Apache Aries.

Теперь давайте поговорим о том, какой OSGI (Apache Felix, Equinox) является и то, что Apache Karaf является:

OSGI очень просто. Вы можете запустить среду выполнения OSGI в своем приложении и даже не заметить ее. Оболочка, возможность горячей установки из папки, установка с maven-репо и т. Д. Это все дополнительные функции, которые OSGI не нужно делать, и предоставляются дополнительными проектами, такими как Karaf, GOGO или Pax.

Теперь на Apache Karaf:

Это, в основном, среда OSGI, которая предоставляет некоторые дополнительные преимущества поверх стандартной реализации OSGI. Поскольку Apache Karaf просто построен на стандартном OSGI, он может теоретически работать в любой среде OSGI. Это дает вам единый интерфейс для работы с временем автономной работы OSGI.

Некоторых лакомств Apache Karaf предусматривает, что вы не увидите в Apache Felix без какой-либо дополнительной работы:

  • Папки горячего развертывания на основе
  • A (имхо) лучше консоли по умолчанию, чем Гий. (org.apache.karaf.shell)
  • Удаленный доступ SSH к этой консоли. (org.apache.karaf.shell.ssh)
  • Централизованная система ведения журнала. (org.apache.karaf.log)
  • У этого есть свой собственный способ создания пучков и начальных уровней. (org.apache.karaf.features)
  • У Karaf есть свои собственные плагины maven.

Практически ничего здесь:

http://mvnrepository.com/search.html?query=org.apache.karaf *

я упомянул Karaf имея это собственный способ инициализации связки и запуска уровней. Apache Karaf также поставляется с кучей заранее определенных, чтобы начать работу. Я знаю, что Apache Felix поставляется с некоторыми, а также через OBR, но Apache Karaf поставляется с гораздо более «включенными батареями».

28

Apache Karaf - это швейцарский армейский нож для запуска OSGi «stuff» и не OSGi, который поставляется как OSGi.

Felix и Aries по умолчанию, но фреймворки подключаются, поэтому равноденствие работает.

  • "Unix как" оболочки доступны из CLI или SSH
  • Hotdeploy пучков
  • Может развернуть почти ничего, как пучок (простой .jar, яровой XML, план и т.д.)
  • WAR файлы
  • Развертывание с maven - в том числе autowrapping, а не OSGi.
  • Веб-консоль
  • Karaf features - ".kar files", который включает в себя пакеты и пользовательские функции/команды karaf.

Обратите внимание, что Karaf является частью ServiceMix (исходное имя было ядром ServiceMix), поэтому он имеет очень тесную интеграцию с Apache Camel, Apache CXF и Apache ActiveMQ. Превращение Karaf в ESB с этими функциями тривиально.