2013-03-14 12 views
40

Was ist der Unterschied zwischen Session und GlobalSession im Spring-Framework?Spring bean scopes: session und globalSession

Laut meiner Studie sind beide im Zusammenhang mit einem Web-fähigen Spring ApplicationContext gültig.

Jetzt bleibt der Session Bean-Bereich bis zur Benutzersitzung bestehen, aber ist der globalSession-Bean-Bereich in der gesamten Anwendung verfügbar?

Ist es der Anwendungsbereich?

Ich kann den Begriff "globale HTTP-Sitzung" nicht verstehen; Wird es während der gesamten globalen HTTP-Sitzung verfügbar sein?

Antwort

77

globalSession ist etwas, das mit Portlet-Anwendungen verbunden ist. Wenn Ihre Anwendung im Portlet-Container funktioniert, besteht sie aus einer bestimmten Anzahl von Portlets. Jedes Portlet hat seine eigene Sitzung. Wenn Sie jedoch globale Variablen für alle Portlets in Ihrer Anwendung speichern möchten, sollten Sie sie in globalSession speichern. Dieser Bereich hat keinen speziellen Effekt, der sich von dem Bereich session in Servlet-basierten Anwendungen unterscheidet.

+0

Vielen Dank für die Klärung. +1 für dich. –

8

Per Frühling Dokumentation ::

Sitzung - Scopes eine einzelne Bohne Definition des Lebenszyklus einer HTTP-Session. Nur gültig im Kontext eines webfähigen Spring ApplicationContext.

globale Sitzung - Definiert eine einzelne Bean-Definition für den Lebenszyklus einer globalen HTTP-Sitzung. In der Regel nur gültig, wenn sie in einem Portletkontext verwendet werden. Nur gültig im Kontext eines webfähigen Spring ApplicationContext.

+0

Schöne Antwort .... –