2010-03-15 2 views
1

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

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

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

+0

Что ошибка не получится? Ничего не найдено в исключениях для JNDI или класса? –

+0

У меня есть исключение NameNotFoundException – szhem

ответ

2

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

Но JCA адаптеры работают для въездной и исходящего соединения, хотя. Правильный способ подключения JCA-коннектора к EJB (входящему соединению), его через ведомый пользователем бин (MDB).

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

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

Лучший документ, чтобы посмотреть на это "Creating Resource Adapter with J2EE Connector Architecture 1.5". Это дает пример для входящих и исходящих соединений. Соответствующий код можно найти в образцах J2EE, которые приходят с SDK.

+0

Я бы хотел инициализировать адаптер с параметрами из таблицы базы данных, которые получены с помощью JPA. Итак, что является лучшим способом, которым я мог бы следовать? может передавать параметры в соединение в исходящей части, а также я могу получить доступ к параметрам в MDB во входящей части, но, к сожалению, мне нужны эти параметры непосредственно в реализации ResourceAdapter. – szhem

+0

Вам действительно нужно иметь их i n база данных? Спецификация JCA поддерживает так называемый «управляемый объект» для конфигурации адаптера JCA. Конфигурация обычно может быть изменена в приложении. серверной консоли администратора и может быть просмотрен в JDNI от адаптера JCA. См. Стр. 21 документа, упомянутого мной. – ewernli

+0

В противном случае я попытался бы получить доступ к конфигурации в базе данных с использованием чистого JDBC. DataSource - это еще один вид адаптера JCA. А адаптер может зависеть от другого адаптера. – ewernli