Как развернуть коннектор JCA в виде пакета OSGI

Можно ли развернуть соединитель JCA как пакет OSGI в GlassFish, как это работает с EJB?

С наилучшими пожеланиями


person maveonair    schedule 19.10.2012    source источник


Ответы (1)


Это не ответ, специфичный для Glashfish, но поскольку я работаю в основном с Jboss, который также основан на контейнере OSGI, я сделал предположение, что, как и в случае с JBOSS, в Glashfish вы можете писать собственные расширения OSGI и развертывать их на контейнер.

Теперь несколько тем, касающихся адаптеров JCA:

  • Основной целью адаптера JCA является подключение к устаревшим бэкендам или облегчение работы с несовместимыми ресурсами (настраиваемые потоки, серверные сокеты для прослушивания, файловый ввод-вывод и т. д.).
  • Чтобы реализовать адаптер JCA в зависимости от функциональности (входящие/исходящие, транзакции и т. д.), вам нужно реализовать от нескольких строк до множества вещей.
  • Ожидается, что реализация адаптера JCA будет переносимой между контейнерами, за исключением, возможно, пары дескрипторов развертывания.
  • Адаптер JCA развертывается в виде стандартного .rar-архива EE.

Теперь мое понимание OSGI довольно ограничено, но я знаю одну или две вещи:

  • Контейнер использует модули OSGI (пакеты) для загрузки компонентов по запросу, что обеспечивает лучшее время запуска.
  • Внутри контейнера такие вещи, как веб-сервер, механизм сервлетов, управление источниками данных, транзакции и т. д., связаны вместе как пакеты OSGI.
  • Вы можете развернуть пользовательское расширение OSGI в контейнере и/или написать плагины и расширения для существующих модулей.

Итак, с моей точки зрения, я не вижу большого функционального перекрытия OSGI с JCA, и мой ответ: «Технически вы не можете развернуть адаптер JCA как пакет OSGI, поскольку они подчиняются разным контрактам и зависят от функциональности конкретного адаптера JCA, это может быть бессмысленным».

person garfield    schedule 06.11.2014