Насколько я понимаю, эти 3 проекта являются связующим звеном между CDI и OSGI, но в чем между ними разница?
Чем отличаются сварка-осги, пакс-cdi и бойцовская рыба?
Ответы (1)
FighterFish позволяет внедрять службы OSGi в компоненты CDI, но не позволяет публиковать компоненты CDI в качестве служб OSGi.
Weld OSGi — это (ныне устаревшее) расширение Weld для OSGi, для которого требуется модифицированная версия Weld 1.x. (1.2.0.Бета1)
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.