60

SpringフレームワークのセッションとglobalSessionの違いは何ですか?

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

私の調査によると、どちらもWeb対応のSpringApplicationContextのコンテキストで有効です。

これで、セッションBeanスコープはユーザーセッションまで残りますが、globalSession Beanスコープはアプリケーション全体で使用できますか?

アプリケーションスコープですか?

「グローバルHTTPセッション」という用語を理解できません。グローバルHTTPセッション全体で利用できますか?

4

3 に答える 3

120

globalSessionポートレット アプリケーションに接続されるものです。アプリケーションがポートレット コンテナで動作する場合、そのアプリケーションはいくつかのポートレットで構築されます。各ポートレットには独自のセッションがありますが、アプリケーション内のすべてのポートレットに対してグローバルな変数を保存する場合は、それらを に保存する必要がありますglobalSessionsessionこのスコープには、サーブレット ベースのアプリケーションのスコープとは異なる特別な効果はありません。

于 2013-03-14T10:56:51.050 に答える
16

Springのドキュメントによると::

session - 単一の Bean 定義を HTTP セッションのライフサイクルにスコープします。Web 対応の Spring ApplicationContext のコンテキストでのみ有効です。

グローバル セッション - 単一の Bean 定義をグローバル HTTP セッションのライフサイクルにスコープします。通常、ポートレット コンテキストで使用する場合にのみ有効です。Web 対応の Spring ApplicationContext のコンテキストでのみ有効です。

于 2015-09-11T08:32:12.597 に答える