6.4.4 データベースセッションフェイルオーバ機能で発生するイベントに関連して動作するリスナ

データベースセッションフェイルオーバ機能を使用する場合,グローバルセッションの引き継ぎが発生したタイミングでjavax.servlet.http.HttpSessionActivationListenerインタフェースのsessionDidActivate()メソッドが呼び出されます。また,このときjavax.servlet.http.HttpSessionListenerインタフェースのsessionCreated()メソッドは呼び出されません。

HTTPセッションを使用する処理では,Java EEで規定されたイベントに対応してHTTPセッションに関連するリスナが動作します。HTTPセッションに関連するリスナとは,次のインタフェースを実装したクラスです。

データベースセッションフェイルオーバ機能を使用する場合,HTTPセッションに関連するリスナはデータベースセッションフェイルオーバ機能のイベントを契機として動作します。

Java EEで規定されたイベントとデータベースセッションフェイルオーバ機能で発生するイベントの対応,およびイベントを契機として動作するリスナについて次の表に示します。

表6-12 データベースセッションフェイルオーバ機能で発生するイベントと動作するリスナ

項番Java EEで規定されたイベント対応するイベント(データベースセッションフェイルオーバ機能使用時)動作するリスナ
1HTTPセッション作成HTTPセッション作成javax.servlet.http.HttpSessionListenerインタフェースのsessionCreated()メソッド
2HTTPセッション無効化
  • HTTPセッション無効化
  • Webアプリケーション停止
  • javax.servlet.http.HttpSessionListenerインタフェースのsessionDestroyed()メソッド
  • javax.servlet.http.HttpSessionAttributeListenerインタフェースのattributeRemoved()メソッド
  • javax.servlet.http.HttpSessionBindingListenerインタフェースのvalueUnbound()メソッド
3HTTPセッションの属性追加HTTPセッションの属性追加
  • javax.servlet.http.HttpSessionAttributeListenerインタフェースのattributeAdded()メソッド
  • javax.servlet.http.HttpSessionBindingListenerインタフェースのvalueBound()メソッド
4HTTPセッションの属性変更HTTPセッションの属性変更javax.servlet.http.HttpSessionAttributeListenerインタフェースのattributeReplaced()メソッド
5HTTPセッションの属性削除
  • HTTPセッションの属性削除
  • Webアプリケーション停止
  • javax.servlet.http.HttpSessionAttributeListenerインタフェースのattributeRemoved()メソッド
  • javax.servlet.http.HttpSessionBindingListenerインタフェースのvalueUnbound()メソッド
6セッションの活性化グローバルセッションの引き継ぎjavax.servlet.http.HttpSessionActivationListenerインタフェースのsessionDidActivate()メソッド
7セッションの非活性化(対応するイベントなし)(動作するリスナなし)

注※ イベント発生時に属性が追加されていた場合です。


このほかのリスナの動作については,データベースセッションフェイルオーバ機能を使用しない場合と同じです。