EJB сессионные компоненты без сохранения состояния и сессионные компоненты с сохранением состояния - PullRequest
4 голосов
/ 27 августа 2010

Я просмотрел различные книги о сессионных компонентах без сохранения состояния и о том, как они работают.Я хочу знать реальное использование этих ejbs и преимущества перед использованием простых классов Java.В основном, когда вы идете на ejbs без гражданства и когда вы идете на ejbs с состоянием.Я хочу приложение в реальном времени.

Ответы [ 4 ]

10 голосов
/ 27 августа 2010

использование этих типов ejbs обычно на уровне обслуживания в качестве классов обслуживания.

EJB3 bean-компонент без сохранения состояния и состояния на самом деле является POJO (с некоторыми аннотациями) и не имеет большой разницы с обычными классами.

но с точки зрения использования у них есть некоторые способности, которые вы не можете найти в обычных классах, такие как:

  • они могут быть вызваны удаленно (например, протокол RMI).
  • они могут использовать ресурсы контекста сервера приложений, такие как соединение с БД и транзакции.

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

http сессия или с состоянием?

ejbs могут обслуживаться на сервере приложений, и у них могут быть клиенты другого типа, например обычное приложение Swing или ..., поэтому в этих случаях вы не можете ретранслировать сеанс http.

если ваш сервер приложений и веб-сервер различны (распределены), не рекомендуется хранить данные в сеансе http и передавать / возвращать их на сервер приложений (из-за сетевых издержек).

1 голос
/ 27 августа 2010
  • Сессионный компонент без сохранения состояния облегчен: он не хранит информацию о конкретном пользователе. Они обычно используются статическим способом. Например, клиент, запрашивающий информацию о продукте, будет связываться с сессионным компонентом без сохранения состояния. («Вам нужна цена товара« YXZ », вот, пожалуйста!»)

  • Сессионный компонент с сохранением состояния, однако помните, что это информация о клиенте. Они содержат данные о действиях пользователя. Например, скажем, пользователь проходит через корзину. Шаги будут сохранены в сессионном компоненте с состоянием (например, пользователь его на шаге оплаты).


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

Любой веб-сайт, который отслеживает пользователя с помощью файлов cookie, нуждается в сессионном компоненте с отслеживанием состояния. Имейте в виду, однако, что вы можете разместить очень мало информации о сеансе в сессионном компоненте и сохранить эту информацию в базе данных. Но вам все еще нужно некоторое управление сессиями.

0 голосов
/ 21 ноября 2014

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

0 голосов
/ 03 марта 2013

Разработчики предпочитают поддерживать состояние на веб-уровне в современных корпоративных приложениях.Я никогда не видел реального веб-приложения, использующего Stateful Session Bean.Это также проблема масштабируемости.

...