2013-05-30 5 views
3

Я экспериментирую с OSGI и CDI. Я хочу зарегистрировать свои службы OSGI с помощью аннотаций CDI, а также получить зарегистрированные службы OSGI с помощью CDI.Как использовать OSGI с CDI в jboss?

Я нашел следующее: https://github.com/mathieuancelin/weld-osgi, похоже, что он встроен в сварную шов. Но когда я опишусь на сварном сердечнике 1.2.0.Beta1 или 2.0.0. Исходная версия, я не нахожу ни одной из аннотаций, указанных в документации по https://github.com/mathieuancelin/weld-osgi.

Это сварка-osgi путь, когда вы хотите использовать OSGI с CDI? Или я должен использовать весну? (Я предпочитаю сварить, потому что мой AS в настоящее время jboss EAP 6.1)

В какой зависимости можно найти аннотации, указанные в документации?

Спасибо!

ответ

0

Я не работал над этим, и я мало знаю о сварке-osgi, но вы должны использовать его, если хотите, чтобы OSGi и CDI играли хорошо. Я уверен, что они отдельные банки, вам нужно добавить зависимость сварки-osgi к вашему проекту.

3

В настоящее время я не консультирую использование CDI для работы с OSGi-сервисами. Библиотека Weld-OSGi по-прежнему очень экспериментальна и, скорее всего, изменится при выпуске спецификации OSGi-CDI.

В настоящий момент в группе экспертов OSGi Enterprise написана новая спецификация OSGi-CDI (RFC 193) (я являюсь одним из участников, пишущих эту спецификацию). OSGi-CDI планируется стать частью Enterprise OSGi R6 в начале следующего года. К сожалению, пока еще рано начинать использовать это, эталонная реализация еще далека от завершения. Более подробную информацию о предстоящей спецификации можно найти в презентации, которую я представил в EclipseCon в этом году: https://speakerdeck.com/paulbakker/rfc-193-osgi-cdi

Я настоятельно рекомендую использовать один из других решений для инъекций зависимостей, доступных для служб OSGi, предпочтительно либо Apache Felix Dependency Manager, либо Dynamic Сервисы. Поскольку обе эти библиотеки построены непосредственно на API-интерфейсе OSGi, вам не нужно перетаскивать другие зависимости. Модель программирования явно отличается от CDI, но концепции очень похожи, поэтому ее легко подбирать.

Не используйте Spring либо потому, что он очень плохо подходит OSGi (хотя он может работать).

Смежные вопросы