2013-03-14 12 views
40

Qual è la differenza tra session e globalSession in Spring framework?Scopi bean Spring: session e globalSession

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

Come da mio studio, entrambi sono validi nel contesto di un ApplicationContext Spring compatibile con il web.

Ora, l'ambito del bean di sessione rimarrà fino alla sessione utente, ma lo scope del bean GlobalSession sarà disponibile nell'intera applicazione?

È l'ambito di applicazione?

Non riesco a comprendere il termine "Sessione HTTP globale"; sarà disponibile durante la sessione HTTP globale?

risposta

77

globalSession è qualcosa che è collegato alle applicazioni Portlet. Quando l'applicazione funziona nel contenitore Portlet, è costituita da una certa quantità di portlet. Ogni portlet ha una propria sessione, ma se si desidera archiviare le variabili globali per tutti i portlet nell'applicazione di quella che si dovrebbero memorizzare in globalSession. Questo ambito non ha alcun effetto speciale diverso dallo scope session nelle applicazioni basate su Servlet.

+0

Grazie per averlo chiarito. +1 per te. –

8

Come da documentazione Primavera ::

sessione - Scopes una definizione singola fagiolo per il ciclo di vita di una sessione HTTP. Valido solo nel contesto di un ApplicationContext Spring compatibile con il web.

sessione globale: imposta una definizione di singolo bean per il ciclo di vita di una sessione HTTP globale. Solitamente valido solo se utilizzato in un contesto portlet. Valido solo nel contesto di un ApplicationContext Spring compatibile con il web.

+0

Bella risposta .... –

Problemi correlati