Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Stateful session bean, не врубаюсь... / 12 сообщений из 12, страница 1 из 1
22.04.2007, 16:15:34
    #34478679
Кент
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Stateful session bean, не врубаюсь...
Изучаю EJB, не могу понять одну вещь.
Вот есть Stateful session bean, класический пример - корзина покупок.
Есть несколько вызовов методов этого бина из разных мест приложения.
В каждом случае это lookup по JNDI имени. Какой вызов будет первым, заранее неизвестно.
Получается, новый экземпляр будет создан при первом вызове, а затем будет сериализоваться и в последующих вызовах десериализоваться ? Правильно ли это ?
А как действовать если мне нужно два разных экземпляра Stateful бина одного класса ?
Заранее благодарю за объяснения !
...
Рейтинг: 0 / 0
22.04.2007, 16:43:28
    #34478694
y3u
y3u
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Stateful session bean, не врубаюсь...
не правильно. Он будет падать в passivate когда этого захочет контейнер, к примеру при переполнении кеша... Если тебе надо два разных экземпляра - сделай два разных экземпляра. Достань его home интерфейс и сделай ему create()... Ну и храни его хендлер
...
Рейтинг: 0 / 0
22.04.2007, 17:05:27
    #34478710
Кент
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Stateful session bean, не врубаюсь...
Если тебе надо два разных экземпляра - сделай два разных экземпляра. Достань его home интерфейс и сделай ему create()
Значит, я понимал неверно и тогда вопрос противоположный : если create() от home-интерфейса каждый раз создаёт новый экземпляр, то как достать наоборот предыдущий не создавая новый ?
...
Рейтинг: 0 / 0
23.04.2007, 09:12:20
    #34479345
wessen
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Stateful session bean, не врубаюсь...
кент Если тебе надо два разных экземпляра - сделай два разных экземпляра. Достань его home интерфейс и сделай ему create()
Значит, я понимал неверно и тогда вопрос противоположный : если create() от home-интерфейса каждый раз создаёт новый экземпляр, то как достать наоборот предыдущий не создавая новый ?

Создать бин один раз и в течении всей сессии хранить ссылку на него.
...
Рейтинг: 0 / 0
23.04.2007, 11:01:12
    #34479608
Кент
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Stateful session bean, не врубаюсь...
Создать бин один раз и в течении всей сессии хранить ссылку на него.
В чём тогда отличие от Stateless ? Его тоже можно запихать в сессию и хранить между запросами.
...
Рейтинг: 0 / 0
23.04.2007, 11:36:24
    #34479716
expp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Stateful session bean, не врубаюсь...
сохранить его в сессии
...
Рейтинг: 0 / 0
23.04.2007, 11:39:13
    #34479727
expp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Stateful session bean, не врубаюсь...
кент Создать бин один раз и в течении всей сессии хранить ссылку на него.
В чём тогда отличие от Stateless ? Его тоже можно запихать в сессию и хранить между запросами.
Stateless каждый раз девственно чист
...
Рейтинг: 0 / 0
23.04.2007, 11:43:09
    #34479735
wessen
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Stateful session bean, не врубаюсь...
кент Создать бин один раз и в течении всей сессии хранить ссылку на него.
В чём тогда отличие от Stateless ? Его тоже можно запихать в сессию и хранить между запросами.

Различеие в том, что в случае с бином stateful, ты можешь быть уверен, что каждый вызов метода бина обрабатывается одним и тем же экземпляром этого бина, а вот в stateless это уже не так.
...
Рейтинг: 0 / 0
23.04.2007, 11:48:30
    #34479757
Timm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Stateful session bean, не врубаюсь...
expp кент Создать бин один раз и в течении всей сессии хранить ссылку на него.
В чём тогда отличие от Stateless ? Его тоже можно запихать в сессию и хранить между запросами.
Stateless каждый раз девственно чист
Ээ нет. Лучше "не гарантируется выполнение с одним и тем же инстансом".
...
Рейтинг: 0 / 0
23.04.2007, 15:02:35
    #34480587
Кент
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Stateful session bean, не врубаюсь...
Пока не понял.
Когда мы сохраняем в сессии (к примеру, сервлета) любой сериализуемый Java-объект, то после извлечения его в последующих вызовах это будет тот самый объект. Со всеми ранее установленными свойствами. Это вообще безотносительно к EJB.
Но это сохранение не ссылки, а самого объекта. В J2EE бины вроде как хранятся не в сессии а в контейнере. А доступ к ним идёт через home-интерфейсы получаемые lookup-ом по JNDI. Что же именно вы понимаете под ссылкой, предлагая хранить её в сессии ? Полученный ранее экземпляр remote-(или local-) интерфейса ?
...
Рейтинг: 0 / 0
23.04.2007, 15:11:30
    #34480632
Penkov Vladimir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Stateful session bean, не врубаюсь...
через remote интерфейс вы вызываете методы proxy, который передает вызов контейнеру, а уж какой бин будет выполнять метод - дело контейнера.

даже для statefull не гарантируется, что это будет один и тот же инстанс, хотя тут я могу ошибаться.
...
Рейтинг: 0 / 0
23.04.2007, 15:14:51
    #34480653
Penkov Vladimir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Stateful session bean, не врубаюсь...
умная книга
Once a stateful session bean is instantiated and assigned to an EJB object, it is dedicated to that EJB object for its entire life cycle.[*]

[*] This is a conceptual model. Some EJB containers may actually use instance swapping with stateful session beans but make it appear as if the same instance is servicing all requests. Conceptually, however, the same stateful session bean instance services all requests.
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Stateful session bean, не врубаюсь... / 12 сообщений из 12, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]