2009-10-14 2 views
1

Я использую jboss-IDE. поэтому я создал проект со многими EJB в том же проекте. теперь мне нужна функциональность, открытая EJB A в EJB B. поэтому мне нужно вызвать EJB A в EJB B. Как мне это сделать?Как позвонить EJB из другого EJB?

P.S: работа с EJB 2.

ответ

1

Вопрос на самом деле «Как позвонить в EJB?»? Поскольку, если вы знаете, как вызвать EJB B, скажем, webapp или Swing-клиент, тогда вы технически знаете, как позвонить EJB A из EJB B.

Теперь, как указывалось в другом месте, вы можете использовать локальный интерфейса вместо удаленного интерфейса, чтобы избежать накладных расходов при удалении, но не зная, будут ли ваши EJB развернуты на мультипликативных виртуальных машинах, ответить на этот вопрос невозможно.

И без дополнительной информации о транзакционных потребностях я не могу сказать, можно ли безопасно вызывать существующий метод EJB A или если вы должны предоставить клонированную версию с другими параметрами транзакции.

Учитывая, что традиционным способом вызова EJB 2.0 является использование Service Locator.

0

Я ржавый на EJB, но если вы хотите общаться между 2-й EJB локально вы можете использовать локальные интерфейсы по сравнению с пультом дистанционного управления. Вы можете посмотреть this resource для получения более подробной информации.

0

Вы абсолютно обязаны использовать EJB 2.0? Если нет, я бы сделал переход к EJB 3. Использование аннотаций и инъекций EJB сделает вашу жизнь намного проще в долгосрочной перспективе.

... В противном случае, если вы должны ... this page on devx.com summarizes it nicely.

В сущности, вы хотите создать локальный интерфейс для боба и изменить дескриптор развертывания, чтобы использовать локальную ссылку в отличие от удаленного ссылки , Это служит двум целям: избегать вызовов RMI и избегать сериализации/десериализации (поскольку поэтому могут быть переданы регулярные ссылки). Это относится и к EJB 3.

Как только вы правильно настроили локальную ссылку, вам необходимо выполнить поиск JNDI в bean-компоненте. См. Статью для краткого/сладкого примера. После того, как вы выполнили поиск, вы готовы к року и роли с любыми методами, которые предоставляет интерфейс.

Если вам нужен более подробный пример, я мог бы добавить некоторые фрагменты, но базовое понимание EJB и этой статьи должно хорошо охватывать базы.

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