2014-12-26 3 views
4

В чем разница между впрыском компонента stateful ejb bean внутри запроса с разделением сеанса bean vs на инъекцию безстоящего ejbbean внутри запроса scoped session bean? Содержит ли bebe-объект bean-объект новый экземпляр для состояния bean-компонента каждый раз, когда он вызывается?Инъекция бланка состояния Внутри запроса Сфера сеанса Bean

+0

Я понимаю, что вы сказали. Я больше беспокоюсь о том, как хранить сеанс в приложении EJB, используя компонент stateful bean. Разрабатывайте его? Как вызвать сессионный компонент stateful для выполнения бизнес-логики из jsf maanged bean? –

+0

Спасибо за ваш ответ .. На самом деле, я могу хранить сеанс с использованием факсимильных сессий JSF/CDI и использовать фаны без состояния для большей части бизнес-логики, но тогда это действительно заставляет меня думать, что такое использование компонента stateful bean. Я думал, что для сохранения сеанса используются компоненты с сохранением состояния, и это замена объекта сеанса HTTP. –

+0

Я получил его. Спасибо за ваше время и помощь .. –

ответ

2
  • Перед состояния сессионного компонент развернут, он находится в не существует состояния. После успешного развертывания контейнер EJB выполняет любую необходимую инъекцию зависимостей на компоненте, и он переходит в Готовность. На этом этапе bean-компонент готов использовать свои методы , вызываемые клиентским приложением.
  • Когда с сохранением состояния сессионный компонент находится в состоянии готовности, контейнер EJB может принять решение о пассивируют него, то есть, чтобы переместить его из основной памяти к вторичной памяти. Когда это произойдет, фасоль переходит в Пассивное состояние.
  • Если экземпляр отслеживания состояние сессионного компонент не был доступен для периода времени, контейнер EJB установит фасоль в не Exist состояния.
  • без гражданства сессионного компонент жизненного цикла содержит только не существует и Готовых состояния, сеансные никогда не ЗАПАССИВИРОВАННЫХ.
  • RequestScoped Бин живет до тех пор, пока HTTP-запрос-ответ живет.

так что ваш фанатичный компонент внутри обработанного запросом бэк-компонента будет уничтожен после HTTP-запроса-ответа, но состояние состояния будет отправлено в пассивное состояние.

+0

Спасибо за ваш ответ. Можете ли вы рассказать о том, как хранить сеанс с помощью компонента состояния, вызвав/введя его из управляемого компонента jsf? –

+0

Я могу хранить состояние в фазах сеанса сеанса JSF и использовать фазу без состояния для бизнес-логики, но я хочу попытаться использовать компонент с сохранением состояния для хранения сеанса, поскольку компонент состояния с состоянием является заменой объекта сеанса HTTP. –

+0

Приветствую вас, я точно не знаю, что вы хотите сделать, и почему вы используете фазу с сохранением состояния внутри бэкэнда, зависящего от запроса, но вы можете использовать ** FacesContext.getExternalContext(). GetSession/getSessionMap() * * для извлечения или хранения объекта сеанса. удачи. – jfun

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