ここでは,セッション情報の識別に使用するセッションIDの形式について説明します。HttpSessionオブジェクトは,セッションIDによって識別されます。
セッションIDの形式は,次の機能を使用しているかどうかで異なります。
- リダイレクタによる負荷分散機能
- セッションIDへのサーバIDの付加機能
セッションIDは,J2EEサーバ内で一意であることが保証されています。ただし,複数のJ2EEサーバにわたって一意の値にする必要がある場合には,セッションIDにワーカ名またはサーバIDを追加して,複数のJ2EEサーバにわたって一意になるように設定する必要があります。
使用している機能ごとのセッションIDの形式を,次の図に示します。
図2-11 セッションIDの形式
それぞれの場合について説明します。
- リダイレクタによる負荷分散機能とサーバID付加機能のどちらも使用していない場合
セッションIDは,32文字の英数字になります。この英数字は,一つのJ2EEサーバ内で一意な値になります。
- リダイレクタによる負荷分散機能を使用している場合
セッションIDは,32文字の英数字,「.」(ピリオド),およびワーカ名で構成されます。ワーカ名には,サーバごとに一意の名称を設定しておく必要があります。
リダイレクタによる負荷分散機能については,「4.2 Webサーバ(リダイレクタ)によるリクエストの振り分け」のロードバランサを使用する場合の説明を参照してください。
- サーバID付加機能を使用している場合(リダイレクタによる負荷分散機能を使用していないとき)
セッションIDは,32文字の英数字およびサーバIDで構成されます。サーバIDには,サーバごとに一意の値を設定しておく必要があります。
サーバID付加機能については,「2.7.6 セッションIDおよびCookieへのサーバIDの付加」を参照してください。
なお,リダイレクタによる負荷分散機能を使用している場合,サーバIDは付加されません。
- データベースセッションフェイルオーバ機能を使用している場合(完全性保障モードが無効のとき)またはEADsセッションフェイルオーバ機能を使用している場合
セッションIDは,32文字の英数字,サーバIDおよび16文字の英数字で構成されます。データベースセッションフェイルオーバ機能(完全性保障モードが無効のとき)およびEADsセッションフェイルオーバ機能を使用する場合は,サーバID付加機能によるセッションIDへのサーバID付加が前提となります。
また,サーバIDには,サーバごとに一意の値を設定しておく必要があります。
サーバID付加機能については,「2.7.6 セッションIDおよびCookieへのサーバIDの付加」を参照してください。
データベースセッションフェイルオーバ機能およびEADsセッションフェイルオーバ機能の前提となる設定については,マニュアル「アプリケーションサーバ 機能解説 拡張編」の「5.4.2 前提となる設定」を参照してください。
All Rights Reserved. Copyright (C) 2012, 2015, Hitachi, Ltd.