Подтвердить что ты не робот

Что такое Apache Karaf?

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

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

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

Ответ 1

TL;DR: 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 (IMHO) лучше использовать консоль по умолчанию, чем gogo. (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 поставляется с гораздо более "включенными батареями".

Ответ 2

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

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

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

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