Получить ссылку на локальный бизнес-интерфейс EJB3 внутри адаптера JCA

StackOverflow https://stackoverflow.com/questions/2449253

Вопрос

Я хотел бы знать, возможно ли получить ссылку на локальные бизнес-интерфейсы ejb3 внутри адаптера jca?

Адаптер ресурсов и ejb .jar упакованы в один и тот же .ear.Приложение работает под управлением WebSphere AS 6.1 с функциональным пакетом ejb3.

Я пытался использовать ejblocal:<full_class_name_of_local_interface> как имя JNDI, но безуспешно.

Это было полезно?

Решение

То, что вы пытаетесь сделать, вероятно, концептуально неверно.Адаптер JCA не должен зависеть от EJB - адаптер JCA не должен выполнять поиск в EJB.

Но адаптеры JCA работают для входящий и исходящий однако возможность подключения.Правильный способ заставить соединитель JCA взаимодействовать с EJB (входящее подключение), это через компонент, управляемый сообщениями (МБР).

  1. Адаптер JCA определяет интерфейс, который будет использоваться для обмена данными.
  2. Затем пользовательский MDB может реализовать этот интерфейс и может получать входящие запросы от адаптера.

Я согласен, что в данном случае название "компонент, управляемый сообщениями" немного вводит в заблуждение.Пользовательский MDB действительно похож на EJB и принимает вызовы от JCA connector.Это не обязательно связано ни с сообщением, ни с асинхронной обработкой.Если вы хотите, пользовательский MDB может затем выполнить поиск или внедрить другой EJB для делегирования обработки.

Лучший документ, на который стоит обратить внимание, это "Создание адаптера ресурсов с архитектурой разъема J2EE 1.5". В нем приведен пример входящего и исходящего подключения.Соответствующий код можно найти в примерах J2EE, которые поставляются вместе с SDK.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top