SpringフレームワークのセッションとglobalSessionの違いは何ですか?
<bean id="exampleBean" class="com.test.baen.ExampleBean" scope="session"/>
<bean id="exampleBean" class="com.test.baen.ExampleBean" scope="globalSession"/>
私の研究によれば、どちらもウェブ対応のSpring ApplicationContextのコンテキストで有効です。
これで、セッションBeanスコープはユーザーセッションまで残りますが、globalSession Beanスコープはアプリケーション全体で使用できますか?
アプリケーションのスコープですか?
「グローバルHTTPセッション」という用語を理解できません。グローバルHTTPセッション全体で利用できますか?
globalSession
は、ポートレットアプリケーションに接続されているものです。アプリケーションがポートレットコンテナで動作する場合、ある程度のポートレットで構築されます。各ポートレットには独自のセッションがありますが、アプリケーションのすべてのポートレットに対してグローバルに変数を保存する場合は、globalSession
に保存する必要があります。このスコープには、サーブレットベースのアプリケーションのsession
スコープと異なる特別な効果はありません。
Springのドキュメントごと::
session-単一のBean定義をHTTPセッションのライフサイクルにスコープします。 Web対応のSpring ApplicationContextのコンテキストでのみ有効です。
グローバルセッション-単一のBean定義をグローバルHTTPセッションのライフサイクルにスコープします。通常、ポートレットコンテキストで使用する場合にのみ有効です。 Web対応のSpring ApplicationContextのコンテキストでのみ有効です。