Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Клиент EJB, Клиент на Java SE 
V
    Опции темы
kaa
Дата 13.12.2008, 22:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 817
Регистрация: 5.11.2005

Репутация: 1
Всего: 2



Всем привет!

Начал тут почитывать спецификацию EJB 3.0 и появилось у меня несколько вопросов по следующему кусочку документации, в котором описывается как из клиента добраться до бина (может сказывается мой плохой английский?):

Код

A client can obtain a session bean’s business interface through dependency injection or lookup in the
JNDI namespace.
For example, the business interface Cart for the CartBean session bean may be obtained using
dependency injection as follows:
@EJB Cart cart;
The Cart business interface could also be looked up using JNDI as shown in the following code segment
using the lookup method provided by the EJBContext interface. In this example, a reference to
the client bean’s SessionContext object is obtained through dependency injection:
@Resource SessionContext ctx;
...
Cart cart = (Cart)ctx.lookup(“cart”);


Как я понял, здесь говорится что вот этот код:

Код

@EJB Cart cart;
@Resource SessionContext ctx;
...
Cart cart = (Cart)ctx.lookup(“cart”);


Должен находится в клинете.


Собственно вопрос в таком случае: 
Зачем вообще нужна ссылка зависимости (как я понял) @EJB Cart cart на клиенте  и как с такой конструкцией будет работать например апплет, если для работы с EJB нужн пакет javax.ejb.

И зачем SessionContext нужно определять как ресурс на клиенте?

Всем заранее спасибо smile

Это сообщение отредактировал(а) kaa - 13.12.2008, 22:37
PM MAIL   Вверх
powerOn
Дата 13.12.2008, 23:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


software saboteur
****


Профиль
Группа: Участник
Сообщений: 4367
Регистрация: 7.10.2005

Репутация: 28
Всего: 159



В данном случае "клиент" это тоже контейнеро-управляемая сущность, которая работает на одном сервере в одном контексте приложения. Это не stand-alone клиент (допустим свинговый). Например EJB1 выступает клиентом для EJB2 и может получить ссылку на EJB2 через dependency injection. Если задача использовать EJB как сервис для stand-alone, то: 
1) Можно оформить бин как веб-сервис.
2) Можно дернуть его через RMI. Некоторый материал об этом можно почитать тут: Glassfish EJB FAQ


--------------------
user posted image нет времени думать - нужно писать КОД!

PM MAIL   Вверх
kaa
Дата 13.12.2008, 23:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 817
Регистрация: 5.11.2005

Репутация: 1
Всего: 2



powerOn, 

Спасибо ОГРОМНОЕ, сегодня весь день гуглил как раз на эту тему (стандалон) - один порожняк.

Добавлено через 2 минуты и 54 секунды
powerOn, 

А всё же некоторый вопрос остался: подскажите, зачем контекст определять как ресурс? Ведь ресурс нужен что бы его дёргать из откуда-нибудь, а мы то с ним в данном коде работаем "на месте".
PM MAIL   Вверх
powerOn
Дата 14.12.2008, 00:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


software saboteur
****


Профиль
Группа: Участник
Сообщений: 4367
Регистрация: 7.10.2005

Репутация: 28
Всего: 159



Цитата(kaa @  13.12.2008,  23:24 Найти цитируемый пост)
А всё же некоторый вопрос остался: подскажите, зачем контекст определять как ресурс? Ведь ресурс нужен что бы его дёргать из откуда-нибудь, а мы то с ним в данном коде работаем "на месте". 


Не совсем понял вопрос. 
Аннотация ресурс говорит EJB-контейнеру что бы он инжектировал в это поле значение. До SessionContext можно достучаться и через JNDI, но в данном случае за нас это сделает контейнер. Если в бине вы не используете SessionContext, то можете его и не определять, ошибки от этого не произойдет. 



--------------------
user posted image нет времени думать - нужно писать КОД!

PM MAIL   Вверх
kaa
Дата 14.12.2008, 20:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 817
Регистрация: 5.11.2005

Репутация: 1
Всего: 2



powerOn, 

Спасибо!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема »


 




[ Время генерации скрипта: 0.1151 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.