2013-11-06 4 views
4

Как я знаю, в EJB 2.x клиент использует домашний интерфейс для запроса ссылки на интерфейс компонента и вызывает бизнес-метод Enterprise java bean, используя эту ссылку , Но концепция тупика и скелета не ясна для меня.Концепция заглушки и скелета в EJB 2.X

Ссылка на компонентный интерфейс действует как заглушка? Тогда какой из них действует как скелет?

Просьба уточнить.

ответ

5

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

  • Заглушка используется клиентом для вызова методов на удаленном EJB - это в основном прокси-объект, который реализует удаленный интерфейс. Он отвечает за сериализацию вызова в поток байтов и отправку его на сервер, на котором размещен EJB.
  • Скелет работает на стороне сервера - он получает удаленные вызовы от заглушки по сети, десериализует вызов и делегирует его в EJB.

Смотрите также: Java RMI : What is the role of the stub-skeleton that are generated by the rmic compiler

В настоящее время, окурки и скелеты обычно генерируются во время выполнения (или та же функция просто обрабатывается с помощью отражения), так что вам не нужно беспокоиться о них (смотрите также Do I need RMI stubs to access EJBs from my java client? - это относится к Glassfish, но общие принципы обычно применяются и к другим контейнерам).

+0

Скелеты не генерируются во время выполнения. Их больше не существует. Ваша заключительная ссылка относится только к Glassfish. – EJP

+0

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

+0

Вам нужно что-то, что переводит входящие байты в объект, который является рольми Сериализации, и то, что вызывает метод, который выполняется через Reflection. Скелет не генерируется во время работы. Но на самом деле речь идет о IIOP, где вместо этого вы используете PortableObjectAdapter, который также не генерируется во время выполнения. – EJP

1

Скелеты устарели с 1998 года. Не беспокойтесь о них.

1

Колодец и скелет находятся там, когда вы используете удаленные интерфейсы. Штук - это объект, реализующий удаленный интерфейс (реализуемый обычно с помощью генерации кода), а скелет реализован внутри контейнера и вызывает метод на EJB (внутри контейнера).

+2

Скелет не существует вообще, но когда это произошло, пятнадцать лет назад, оно, конечно, не использовало отражение. Это * почему * он существовал. – EJP

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

  • Нет связанных вопросов^_^