В чем разница между weld-osgi, pax-cdi и fighterfish
Насколько я понимаю, эти 3 проекта являются связующим звеном между CDI и OSGI, но в чем разница между ними?
1 ответ
FighterFish позволяет вам внедрять службы OSGi в компоненты CDI, но не позволяет публиковать компоненты CDI в качестве служб OSGi.
Weld OSGi является (в настоящее время устаревшим) расширением Weld для OSGi, для которого требуется модифицированная версия Weld 1.x. (1.2.0.Beta1)
Weld 2.1 и более поздние версии включают в себя некоторые модификации, происходящие из Weld OSGi, которые делают ядро Weld более дружественным OSGi благодаря поддержке нескольких контейнеров CDI параллельно, независимо от загрузчика класса контекста потока.
Справочное руководство по сварке теперь рекомендует использовать Pax CDI в средах OSGi.
Pax CDI поддерживает внедрение и регистрацию сервисов OSGi. Он не привязан к какой-либо конкретной реализации CDI (в отличие от Weld OSGi) и в настоящее время поддерживает Weld 2.2.x и OpenWebBeans 1.5.0.
Концептуально Pax CDI является более или менее расширенным набором FighterFish CDI и Weld OSGi, т.е. для большинства функций FighterFish и Weld OSGi вы найдете эквивалентные решения в Pax CDI.
Когда-то Pax CDI планировалось стать официальным эталонным внедрением службы CDI, определенной группой экспертов OSGi Enterprise. Поскольку работа над спецификацией в настоящее время приостановлена (насколько нам известно), это уже не так, и проект Pax CDI теперь следует своей собственной дорожной карте.
Отказ от ответственности: я руководитель проекта Pax CDI.