Spring bean的作用域:session和globalSession

在Spring框架中session和globalSession有什么区别?

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

根据我的研究,两个都是在一个web感知的Spring ApplicationContext的上下文中有效的。

现在,会话bean作用域将一直保留到用户会话,但globalSession bean作用域是否可用于整个应用程序?

它是应用范围吗?

我无法理解术语“全球HTTP会话”; 它会在整个全球HTTP会话中使用吗?

globalSession是连接到Portlet应用程序的东西。 当您的应用程序在Portlet容器中工作时,它由一些Portlet构build。 每个portlet都有自己的会话,但是如果您想在应用程序中为所有portlet存储全局variables,则应该将其存储在globalSession 。 这个范围在基于Servlet的应用程序中没有任何与session范围不同的特殊效果。

按照Spring文档::

会话 – 在HTTP会话的生命周期范围内定义一个单独的bean定义。 只有在Web感知的Spring ApplicationContext的上下文中才有效。

全局会话 – 在全局HTTP会话的生命周期中作用一个单一的bean定义。 通常只在Portlet上下文中使用时才有效。 只有在Web感知的Spring ApplicationContext的上下文中才有效。