web-dev-qa-db-fra.com

Portées du haricot de printemps: session et session globale

Quelle est la différence entre la session et le cadre globalSession in Spring?

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

Selon mon étude, les deux sont valides dans le contexte d'un Spring ApplicationContext Web.

Maintenant, la portée du bean session restera jusqu'à la session utilisateur, mais la portée du bean globalSession sera-t-elle disponible dans toute l'application?

Est-ce la portée de l'application?

Je n'arrive pas à comprendre le terme "session HTTP globale"; sera-t-il disponible tout au long de la session HTTP mondiale?

51
Shreyos Adikari

globalSession est quelque chose qui est connecté aux applications Portlet. Lorsque votre application fonctionne dans le conteneur de portlets, elle est constituée d'une certaine quantité de portlets. Chaque portlet a sa propre session, mais si vous souhaitez stocker des variables globales pour tous les portlets de votre application, vous devez les stocker dans globalSession. Cette étendue n'a aucun effet spécial différent de l'étendue session dans les applications basées sur Servlet.

103
partlov

Selon la documentation de Spring ::

session - Étend une définition de bean unique au cycle de vie d'une session HTTP. Valable uniquement dans le contexte d'un Spring ApplicationContext Web.

session globale - Étend une définition de bean unique au cycle de vie d'une session HTTP globale. Généralement valide uniquement lorsqu'il est utilisé dans un contexte de portlet. Valable uniquement dans le contexte d'un Spring ApplicationContext Web.

12
Neha Agarwal