Подтвердить что ты не робот

Spring bean Области: сеанс и globalSession

В чем разница между сеансом и globalSession в рамках Spring?

<bean id="exampleBean" class="com.test.baen.ExampleBean" scope="session"/>
<bean id="exampleBean" class="com.test.baen.ExampleBean" scope="globalSession"/>

В соответствии с моим исследованием оба действительны в контексте веб-приложения Spring ApplicationContext.

Теперь область сеанса bean останется до сеанса пользователя, но будет областью globalSession bean быть доступной во всем приложении?

Является ли это областью приложения?

Я не могу понять термин "глобальная HTTP-сессия"; будет ли он доступен во время глобальной сессии HTTP?

4b9b3361

Ответ 1

globalSession - это то, что связано с приложениями Portlet. Когда приложение работает в контейнере Portlet, оно построено из некоторого количества портлетов. Каждый портлет имеет свой собственный сеанс, но если вы хотите хранить переменные глобальные для всех портлетов в вашем приложении, вы должны хранить их в globalSession. Эта область не имеет особого эффекта, отличного от области session в приложениях на основе сервлета.

Ответ 2

Согласно Spring документации::

Сеанс

- определяет единственное определение bean для жизненного цикла сеанса HTTP. Действителен только в контексте веб-приложения Spring ApplicationContext.

глобальный сеанс - определяет единое определение bean для жизненного цикла глобальной HTTP-сессии. Обычно используется только при использовании в контексте портлета. Действителен только в контексте веб-приложения Spring ApplicationContext.