Удаленный вызов в EJB 3.0 - PullRequest
       46

Удаленный вызов в EJB 3.0

0 голосов
/ 21 февраля 2011

Я новичок в EJB 3.0 и пробую DI с моими ejb.

Я использую WAS 7.0 в качестве моего сервера приложений, и на нем развернуто два EAR. Оба имеют сессионные компоненты ejb 3, и мне нужно вызвать ejb в ear 2 из ejb, доступного в ear 1.

В обоих моих приложениях у меня есть клиентский проект, который содержит локальный и удаленный интерфейсы, проект commons , который содержит интерфейсы, которые расширяются удаленными и локальными интерфейсами, затем проект ejb и маршрутизатор проект (как конечные точки веб-сервиса для ejb)

Теперь, чтобы сделать удаленный вызов, я попытался поместить jar-файлы клиента и общих файлов в каталог lib EAR, обновил META-INF проекта ejb и попытался использовать аннотацию @EJB, но из-за ее исключений EJB отсутствуют.

Я пытался выполнить поиск JNDI, но это дало NamingException.

Как правильно вызывать удаленный компонент в ejb 3.0?

Пожалуйста, предоставьте ваши предложения.

1 Ответ

0 голосов
/ 21 февраля 2011

Проблема не в вызове, а в том, чтобы получить ссылку на заглушку EJB.Для удаленного EJB это абсолютно требует поиска JNDI (если вы не хотите вызывать его через SOAP или REST).Таким образом, вам нужно добавить параметр lookup в аннотацию @EJB и передать ему правильное имя поиска JNDI - и это трудная часть, так как состав имен JNDI сложен и находится под влиянием большого количествафакторы.

...