Нужно ли использовать @Remote, когда я хочу представить EJB другому приложению на том же сервере приложений? - PullRequest
6 голосов
/ 19 октября 2010

У меня есть @Stateless @Local Bean, успешно развернутый в ухе. Я вижу новое стандартное глобальное имя JNDI EJB 3.1 при просмотре дерева JNDI. (Java: глобальный / продукт / продукт-EJB / управление продуктом)

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

1 Ответ

12 голосов
/ 19 октября 2010

Доступ между приложениями к представлению локального клиента не требуется в спецификации, но может дополнительно поддерживаться вашим контейнером. Если вы хотите, чтобы ваше приложение было переносимым, вам не следует полагаться на него и использовать удаленный интерфейс (приличный контейнер должен оптимизировать вызовы внутри одной и той же JVM). Из спецификации EJB 3.1:

3.2.2 Локальные клиенты

Сессионные компоненты могут иметь локальных клиентов. Локальный клиент - это клиент, который расположенный в той же JVM с сессионный компонент, который обеспечивает местный вид клиента и который может быть тесно в сочетании с бобом. Местный клиент сессионный компонент может быть другим корпоративный бин или веб-компонент.

Доступ к корпоративному бину через местное представление клиента требует коллокация в одной и той же JVM обоих местный клиент и предприятие бин, который обеспечивает локальный клиент Посмотреть. Следовательно, локальный клиент не предоставляет местоположение прозрачность, обеспечиваемая пультом вид клиента.

Доступ к корпоративному компоненту через требуется только локальный просмотр клиента поддерживаться для локальных клиентов упакованы в одном приложении как корпоративный бин, который обеспечивает вид локального клиента. уступчивый реализации этой спецификации может дополнительно поддерживать доступ к взгляд локального клиента на предприятие бин от локального клиента, упакованного в другое приложение . требования к конфигурации для межприкладной доступ к местному вид клиента зависит от поставщика и выходят за рамки этого Спецификация. Приложения, полагающиеся на межприкладной доступ к местному представление клиента непереносимо.

...

Ссылки

  • EJB 3.1 Технические характеристики
    • Раздел 3.2.2 «Локальные клиенты»
...