Cosminexus 機能解説
次に示すディレクトリに,セッションフェイルオーバ機能で使用するフィルタ定義およびフィルタマッピングの定義が記述されたテンプレートのDD(web.xml)が用意してあります。
<Cosminexusのインストールディレクトリ>\CC\sfo\sfo_war
このファイルをコピーしてWebアプリケーションのDDを作成します。すでに存在するWebアプリケーションにセッションフェイルオーバ機能を適用する場合,テンプレートからDDにセッションフェイルオーバ用フィルタのフィルタ定義およびフィルタマッピングの定義をコピーし,必要な定義を記述します。
テンプレートの内容を次に示します。
図12-32 テンプレートの内容(セッションフェイルオーバ機能のDD)(1/2)
図12-33 テンプレートの内容(セッションフェイルオーバ機能のDD)(2/2)
次の定義の値は固定となります。テンプレートの値をそのまま使用してください。
グローバルセッション情報として登録する情報や,使用するSFOサーバの情報などは,<filter>タグ内の初期化パラメタである,<init-param>タグ内を編集して定義します。
DDの<init-param>タグ内に定義する内容を次の表に示します。なお,<param-value>に指定する値の詳細については,(2)以降で説明します。
表12-11 DDの<init-param>タグ内に定義する内容
定義する項目 | <param-name>タグに指定する要素 | <param-value>に指定する内容 | |
---|---|---|---|
グローバルセッション情報として使用する情報 | 書き換え可能な情報 | GSInfoKey-RW | HTTPセッションに登録する情報の中から,グローバルセッション情報として登録する情報を選択して定義します。 文字列を指定します。※1 「;」(半角セミコロン)を含んだキーは指定できません。 複数指定する場合は,「;」(半角セミコロン)で区切って指定します。 なお,同じ名称のキーは複数回指定できません。GSInfoKey-RWとGSInfoKey-Rに同じ名称を指定することもできません。※2 また,「*」(半角アスタリスク)だけを指定すると,HTTPセッションに登録されたすべての情報がグローバルセッション情報として登録されます。ただし,複数指定の中に「*」を指定している場合,「*」はキーとして扱われます。「*」は,GSInfoKey-RWとGSInfoKey-Rの両方に指定できません。 GSInfoKey-RWとGSInfoKey-Rに指定する値と引き継ぎ対象となるセッション情報の関係については,「(2) グローバルセッション情報として使用する情報(GSInfoKey-RW,GSInfoKey-R)」を参照してください。 |
読み込み専用の情報 | GSInfoKey-R | ||
グローバルセッション情報の最大サイズ | GSInfosLengthMax | グローバルセッション情報の最大サイズ(文字)を指定します。 DDには,3〜1048576の整数値で指定します。 |
|
グローバルセッション情報を格納するSFOサーバ | SFOServerName | 使用するSFOサーバ名を指定します。 DDには,J2EEサーバ用のusrconf.propertiesのwebserver.sfo.sfo_serversキーで指定されているSFOサーバの中から選択して指定します。 |
|
グローバルセッションの制御方法 | GSessionControl | グローバルセッション情報の制御方法を指定します。 指定できる値は,「cookie」,「url-rewriting」または「both」です。 このパラメタに指定した値については,大文字と小文字が区別して扱われます。 |
|
グローバルセッションIDの送信に使用するHTTP Cookieの名称 | GIDCookieName | グローバルセッションIDを送信するHTTP Cookieの名称を指定します。 DDには,16文字までの文字列で指定します。 使用できる文字は,A〜Z,a〜zおよび0〜9の英数字です。ただし,HTTP Cookieの名称の識別では,大文字と小文字は区別されません。 また,HTTPセッションのセッションIDが使用する「JSESSIONID」やJ2EEサーバが使用するサーバIDと同じ値は指定できません。 |
|
グローバルセッションIDの送信に使用するURLのパスパラメタ名 | GIDURLParamName | グローバルセッションIDの送信に使用するURLのパスパラメタ名を指定します。 DDには,16文字までの文字列で指定します。 使用できる文字は,A〜Z,a〜zおよび0〜9の英数字です。URLのパスパラメタの識別では,大文字と小文字は区別されます。 また,URLのパスパラメタ名には,「jsessionid」を指定できません。「jsessionid」は,HTTPセッションのセッションIDの送信に使用する文字列です。なお,「jsessionid」の識別では,大文字と小文字は区別されません。 また,Webアプリケーションで独自のURLのパスパラメタを使用している場合は,Webアプリケーションで使用しているURLのパスパラメタと異なる名称をこのパラメタに,指定してください。 |
|
グローバルセッション情報のロック待ちタイムアウト時間 | LockTimeout | SFOサーバでのロック待ちタイムアウト時間を秒単位で指定します。 DDには,1〜3600の整数値を指定します。 |
|
引き継ぎ可能なセッション情報のデータ型 | byte型配列であるセッション情報の引き継ぎ許可 | GSInfoTypeByteArrayEnable | byte型配列のセッション情報を引き継ぎ対象とするかどうかを指定します。
このパラメタに指定した値について,大文字,小文字は区別されません。また,このパラメタに指定した値は,GSInfoTypeSerializableEnableパラメタに「true」を指定している場合は無視されます。 |
直列化可能クラスのオブジェクトであるセッション情報の引き継ぎ許可 | GSInfoTypeSerializableEnable | 直列化可能クラスのオブジェクトであるセッション情報を引き継ぎ対象とするかどうかを指定します。
|
注※1 キー名称の先頭と最後の空白は省略されます。省略された結果,""(文字列)になったキー名称は無視されます。
注※2 同じキー名称を指定した場合,Webアプリケーションを開始できません。
これらの定義項目は,使用する機能によって設定するかどうかが異なります。使用する機能ごとのDDの<init-param>タグ内に定義する要素のデフォルト値と設定要否を次の表に示します。
表12-12 使用する機能ごとのDDの<init-param>タグ内に定義する要素のデフォルト値と設定要否
<param-name>タグに指定する要素 | デフォルト値 | 使用する機能 | |
---|---|---|---|
セッションフェイルオーバ機能の設定要否 | グローバルセッション情報のサイズ見積もり機能の設定要否 | ||
GSInfoKey-RW | なし | 任意※1 | 任意※1 |
GSInfoKey-R | なし | 任意※1 | 任意※1 |
GSInfosLengthMax | 1024 | 任意 | 無効※2 |
SFOServerName | webserver.sfo.sfo_serversキーに指定されているSFOサーバ数によって異なります。※3 | 任意 | 無効※4 |
GSessionControl | cookie | 任意 | 任意 |
GIDCookieName | GSESSIONID | 任意 | 任意 |
GIDURLParamName | gsessionid | 任意 | 任意 |
LockTimeout | 60 | 任意 | 無効※2 |
GSInfoTypeByteArrayEnable | false | 任意 | 任意 |
GSInfoTypeSerializableEnable | false | 任意 | 任意 |
注※1 GSInfoKey-RWとGSInfoKey-Rの両方を省略することはできません。
注※2 パラメタに不正な値を指定した場合はエラーとなり,Webアプリケーションは開始できません。
注※3 SFOフィルタのサーバ定義名に指定されているSFOサーバ名が一つの場合は,そのSFOサーバ名がデフォルトになります。複数指定されている場合は,先頭に指定されているSFOサーバ名がデフォルトになります。SFOフィルタのサーバ定義名は,簡易構築定義ファイルの論理J2EEサーバ(j2ee-server)の<configuration>タグ内に,webserver.sfo.sfo_serversパラメタで指定します。
注※4 指定したSFOサーバ名が,簡易構築定義ファイルで指定されているSFOフィルタのサーバ定義名にない場合もエラーになりません。SFOフィルタのサーバ定義名は,簡易構築定義ファイルの論理J2EEサーバ(j2ee-server)の<configuration>タグ内に,webserver.sfo.sfo_serversパラメタで指定します。
なお,グローバルセッションの制御方法によって,指定する必要があるパラメタが異なります。
グローバルセッションの制御方法と指定が必要なパラメタの対応を次の表に示します。
表12-13 グローバルセッションの制御方法と指定が必要なパラメタの対応
<param-name>タグに指定する要(パラメタ) | HTTP Cookieによって制御する場合 | URL書き換えによって制御する場合 |
---|---|---|
GSInfoKey-RW | ○ | ○ |
GSInfoKey-R | ○ | ○ |
GSInfosLengthMax | ○ | ○ |
SFOServerName | ○ | ○ |
GSessionControl | ○※ | ◎ |
GIDCookieName | ○ | − |
GIDURLParamName | − | ○ |
LockTimeout | ○ | ○ |
GSInfoTypeByteArrayEnable | ○ | ○ |
GSInfoTypeSerializableEnable | ○ | ○ |
セッションフェイルオーバ機能を使用するためのDDの定義内容は,冗長化したJ2EEサーバにデプロイした同一アプリケーションで同じ必要があります。定義内容が不正な場合,アプリケーション開始処理がエラーになります。メッセージは,KDJE34202-Eのメッセージが出力されます。
HTTPセッションに登録する情報の中から,グローバルセッション情報として登録する情報を選択して定義します。HTTPセッションに登録する情報すべてをグローバルセッション情報として引き継ぐ場合は,「*」を指定します。
グローバルセッション情報は,書き換え可能グローバルセッション情報または読み込み専用グローバルセッション情報として指定します。HTTPセッションに登録後,変更が必要なセッション情報は,書き換え可能グローバルセッション情報に指定します。HTTPセッションに登録後,変更が不要なセッション情報は,読み込み専用グローバルセッションに指定します。グローバルセッション情報については,「12.2.3 グローバルセッション情報」を参照してください。
書き換え可能グローバルセッション情報の場合は,パラメタのGSInfoKey-RWで指定します。読み込み専用グローバルセッション情報の場合は,GSInfoKey-Rで指定します。
GSInfoKey-RWおよびGSInfoKey-Rパラメタに指定した文字列は,「;」(半角セミコロン)で分割したあと,それぞれの値の先頭と最後の連続した空白文字※を削除した結果がキー名称として使用されます。空白文字※を削除した結果が「""」(空文字列)になったキー名称は無視されます。GSInfoKey-RWおよびGSInfoKey-Rパラメタに指定した文字列に有効となるキー名称がない場合は,KDJE34202-Eのメッセージが出力され,エラーとなります。
GSInfoKey-RWおよびGSInfoKey-Rパラメタに指定する値と引き継ぎ対象となるセッション情報の関係を次の表に示します。
表12-14 GSInfoKey-RWおよびGSInfoKey-Rパラメタに指定する値と引き継ぎ対象となるセッション情報の関係
項番 | パラメタに指定する値 | 指定例 | 指定例で引き継ぎ対象となるセッション情報 |
---|---|---|---|
1 | 「;」(半角セミコロン)で区切った複数の文字列 | "user;roll" | "user"および"roll"のキーで登録されたセッション情報 |
2 | キーの前,またはあとに空白を含んだ文字列 | "user△;△roll△△; password" | "user","roll",および"password"のキーで登録されたセッション情報(空白文字を削除した結果,キー名称となります) |
3 | キーの途中に空白を含んだ文字列 | "user;user△id" | "user"および"user△id"のキーで登録されたセッション情報 |
4 | 「*」(半角アスタリスク)だけ | "*" | HTTPセッションに登録されたすべてのセッション情報※ |
5 | 前,またはあとに空白を含んだ「*」(半角アスタリスク) | "△△*△△" | HTTPセッションに登録されたすべてのセッション情報※(空白文字を削除した結果,「*」となります) |
6 | 「*」(半角アスタリスク)を含んだ複数の文字列 | "user;*" | "user"および"*"のキーで登録されたセッション情報 |
7 | 「*」(半角アスタリスク)以外のキーが空文字列 | "*;" | "*"のキーで登録されたセッション情報 |
8 | 空文字列 | "" | エラーとなり,KDJE34202-Eのメッセージが出力されます。 |
9 | 「△」だけ | "△△" | エラーとなり,KDJE34202-Eのメッセージが出力されます(空白文字を削除した結果,空文字列となります)。 |
10 | 「;」(半角セミコロン)だけ | ";;" | エラーとなり,KDJE34202-Eのメッセージが出力されます(有効となるキー名称がありません)。 |
11 | 「△」を「;」(半角セミコロン)で区切った文字列 | ";△;" | エラーとなり,KDJE34202-Eのメッセージが出力されます(空白文字を削除した結果,有効となるキー名称がありません)。 |
(凡例)△:空白文字を示します。
SFOサーバに格納するグローバルセッション情報の一つ当たりの最大サイズを指定します。SFOサーバで冗長化できるグローバルセッション情報のサイズは,デフォルトでは1,024バイトまでです。冗長化するグローバルセッション情報の文字数がこの値を超える場合は,定義した内容を変更する必要があります。
また,グローバルセッション情報の最大サイズを小さくすると,SFOサーバで使用するメモリサイズを少なくできます。実際に格納するグローバルセッション情報の最大サイズを考慮して,適切なサイズを指定してください。
グローバルセッション情報のサイズは,次の式で算出できます。直列化可能クラスのオブジェクトであるセッション情報の引き継ぎを許可しているかどうか(GSInfoTypeSerializableEnableパラメタの指定)によって,見積もり式が異なります。
グローバルセッション情報のサイズ= (各グローバルセッション情報のキーの文字列長合計) +(各HTTPセッションに登録されたオブジェクトのサイズの最大長合計) +(区切り文字数)※1 +(HTTPセッションの有効期間情報の長さ)※2 |
ただし,グローバルセッション情報がjava.lang.Stringクラスの場合,文字列をUTF-8の文字エンコーディングでURLエンコードして冗長化します(URLエンコードにはjava.net.URLEncoderクラスを使用します)。そのため,グローバルセッション情報の文字列長は,セッション情報の文字列長と異なることがあります。文字種ごとのURLエンコード後の文字列長を次の表に示します。
表12-15 文字種ごとのURLエンコード後の文字列長
項番 | 文字種 | 文字列長(バイト) | |
---|---|---|---|
1 | ASCII文字 | 英数字(0〜9およびa〜Z)および次に示す特殊文字
|
1 |
上記以外のASCII文字 | 3 | ||
2 | JIS X 0201のすべての非ASCII文字 | 6または9 | |
3 | JIS X 0208のすべての非ASCII文字 | 6または9 | |
4 | JIS X 0212のすべての非ASCII文字 | 6または9 | |
5 | Windows-31Jの拡張文字 | 9 | |
6 | Unicodeの補助文字(基本多言語面以外の文字) | 12 | |
7 | JIS X 0213の第3,第4水準漢字 | 9または12 |
このため,グローバルセッション情報のサイズは,セッション情報の文字列を文字種ごとにURLエンコード後の文字列長に変換してから,それらを合計して見積もる必要があります。
例えば,n種類のグローバルセッション情報を指定した場合は,グローバルセッション情報の最大サイズは次の式で算出できます。
グローバルセッション情報のサイズ= (グローバルセッション情報1のキーの文字列長) +(HTTPセッションに登録されたオブジェクト1の最大サイズ) +(グローバルセッション情報2のキーの文字列長) +(HTTPセッションに登録されたオブジェクト2の最大サイズ) : +(グローバルセッション情報nのキーの文字列長) +(HTTPセッションに登録されたオブジェクトnの最大サイズ) +(2×n-1) +4 |
グローバルセッション情報のサイズ= (各グローバルセッション情報のキーのシリアライズ後のバイト数合計) +(各HTTPセッションに登録されたオブジェクトのシリアライズ後のバイト数合計) +(HTTPセッションの有効期間情報の長さ)※ |
例えば,n種類のグローバルセッション情報を設定した場合は,グローバルセッション情報の最大サイズは次の式で算出できます。
グローバルセッション情報のサイズ= (グローバルセッション情報1のキーのシリアライズ後のバイト数) +(HTTPセッションに登録されたオブジェクト1のシリアライズ後のバイト数) +(グローバルセッション情報2のキーのシリアライズ後のバイト数) +(HTTPセッションに登録されたオブジェクト2のシリアライズ後のバイト数) : +(グローバルセッション情報nのキーのシリアライズ後のバイト数) +(HTTPセッションに登録されたオブジェクトnのシリアライズ後のバイト数) +4 |
グローバルセッション情報を格納するSFOサーバのサーバ名を指定します。サーバ名は,J2EEサーバのusrconf.propertiesのwebserver.sfo.sfo_serversキーに指定したSFOサーバ名から選択します。
usrconf.propertiesについては,マニュアル「Cosminexus リファレンス 定義編」を参照してください。
グローバルセッションの制御方法を指定します。指定した値に応じて,Webクライアントに対するグローバルセッションIDの送信方法,およびWebクライアントからのグローバルセッションIDの受信方法が決まります。
指定できる値と意味を次の表に示します。
表12-16 GSessionControlの指定値の意味
指定値 | 意味 |
---|---|
cookie | グローバルセッションの制御にHTTP Cookieを使用します。 |
url-rewriting | グローバルセッションの制御にURL書き換えを使用します。 |
both | グローバルセッションの制御にHTTP CookieおよびURL書き換えの両方を使用します。 WebクライアントがHTTP Cookieをサポートしているかどうかを判別して,必要に応じてHTTP Cookieによる制御とURL書き換えによる制御を切り替えます。 |
また,GSessionControlに指定した値によって,次の制御が変わります。
GSessionControlに指定する値とグローバルセッションの制御方法の関係を,次の表に示します。
表12-17 GSessionControlに指定する値とグローバルセッションの制御方法の関係
GSessionControlに指定する値 | WebクライアントからJ2EEサーバに送信されるリクエストに含まれるグローバルセッションID | J2EEサーバからWebクライアントに送信されるレスポンスの内容 | ||
---|---|---|---|---|
HTTP Cookieに含まれるグローバルセッションID | URLのパスパラメタに含まれるグローバルセッションID | グローバルセッション生成時にHTTP Cookieを付加するかどうか | ServletAPIによるURL書き換えが有効になるかどうか | |
cookie | 有効 | 無効 | 付加する | 無効 |
url-rewriting | 無効 | 有効 | 付加しない | 有効 |
both | 有効※1 | 有効※1 | 付加する | 有効※2 |
HTTP CookieまたはURL書き換えを使用したグローバルセッションの制御については,「12.3 HTTP Cookieによるグローバルセッションの制御」および「12.4 URL書き換えによるグローバルセッションの制御」を参照してください。
グローバルセッションIDをWebブラウザなどのクライアントに通知するときに使用するHTTP Cookieの名称を指定します。なお,グローバルセッションIDとは,グローバルセッション情報の識別に使用される情報です。
グローバルセッションIDをWebブラウザなどのクライアントに通知するときに使用するURLのパスパラメタ名を指定します。
GSessionControlパラメタに「cookie」を指定した場合,このパラメタに設定した値は無効になります。なお,GSessionControlパラメタに「cookie」を指定した場合,GIDURLParamNameパラメタに設定した値はチェックされません。このため,このパラメタに不正な値を設定した場合も,検出はされません。
URL書き換えを使用したグローバルセッションの制御については,「12.4 URL書き換えによるグローバルセッションの制御」を参照してください。
すでにロックされた状態のセッションに対して,別のJ2EEサーバからロック要求があった場合に,ロック待ちがタイムアウトになるまでの時間を指定します。
J2EEサーバからSFOサーバに対してグローバルセッション情報のロック取得要求をしたあとに,J2EEサーバに障害が発生して停止した場合,SFOサーバ上のグローバルセッション情報がロックされたままの状態になってしまうおそれがあります。グローバルセッション情報のロック待ちタイムアウト時間は,このような場合に,J2EEサーバに障害が発生したと判断するために使用されます。
また,次のような場合にロックされたままの状態になったときにも,このタイムアウト時間が有効になります。これらの状態は,負荷分散機を使用している環境で発生することがあります。
フレームを使用するアプリケーションの場合は,リクエスト処理が終わるまでのロック待ち時間も考慮して,タイムアウト時間を定義してください。
引き継ぎ可能なセッション情報のデータ型には,java.lang.Stringクラスのオブジェクト,byte型配列,および直列化可能クラスのオブジェクトがあります。
データ型がbyte型配列,または直列化可能クラスのオブジェクトであるセッション情報を引き継ぎ対象とする場合には,次の設定を有効にします。
これらの設定を無効にした場合は,java.lang.Stringクラスのオブジェクトだけが引き継ぎ可能なセッション情報となります。
byte型配列のセッション情報を引き継ぎ対象とするかどうかをGSInfoTypeByteArrayEnableパラメタに指定します。「true」を指定した場合は,java.lang.Stringクラスのオブジェクトに加え,byte型配列のセッション情報も引き継ぎ対象となります。
「false」を指定した場合は,byte型配列のセッション情報は引き継ぎ対象外となります。引き継ぎ対象外のオブジェクトが登録された場合の扱いについては,「12.2.3(3) 引き継ぎ対象外のオブジェクトの扱い」を参照してください。
直列化可能クラスのオブジェクトであるセッション情報を引き継ぎ対象とするかどうかをGSInfoTypeSerializableEnableパラメタに指定します。「true」を指定した場合は,直列化可能クラスのオブジェクトであるセッション情報が引き継ぎ対象となります。この場合,java.lang.Stringクラスのオブジェクト,およびbyte型配列のセッション情報も区別なく,直列化可能クラスのオブジェクトであるセッション情報としてシリアライズして,グローバルセッション情報を作成します。
「false」を指定した場合は,直列化可能クラスのオブジェクトであるセッション情報は引き継ぎ対象外となります。引き継ぎ対象外のオブジェクトが登録された場合の扱いについては,「12.2.3(3) 引き継ぎ対象外のオブジェクトの扱い」を参照してください。
GSInfoTypeByteArrayEnableパラメタとGSInfoTypeSerializableEnableパラメタの指定値によって,引き継ぎ対象となるデータ型が異なります。各パラメタに指定する値と引き継ぎ対象となるデータ型の関係を次の表に示します。
表12-18 GSInfoTypeByteArrayEnableおよびGSInfoTypeSerializableEnableパラメタに指定する値と引き継ぎ対象となるデータ型の関係
GSInfoTypeByteArrayEnableパラメタ※1に指定する値 | GSInfoTypeSerializableEnableパラメタ※2に「true」を指定 | GSInfoTypeSerializableEnableパラメタ※2に「false」を指定 |
---|---|---|
true | 直列化可能クラスのオブジェクト | java.lang.Stringクラスのオブジェクトまたはbyte型配列 |
false | 直列化可能クラスのオブジェクト | java.lang.Stringクラスのオブジェクト |
なお,引き継ぎ対象外のオブジェクトが登録された場合の扱いについては,「12.2.3(3) 引き継ぎ対象外のオブジェクトの扱い」を参照してください。
セッションフェイルオーバ機能を使用する場合のDDの定義例を示します。この例は,HTTP Cookieによってグローバルセッションを制御し,byte型配列のセッション情報を引き継ぐ場合の例です。
: <!--The filter for Session Fail Over --> <filter> <filter-name>com.hitachi.software.was.sfo.web.SFOFilter</filter-name> <filter-class>com.hitachi.software.was.sfo.web.SFOFilter</filter-class> <init-param> <param-name>GSInfoKey-RW</param-name> <param-value>page</param-value> </init-param> <init-param> <param-name>GSInfoKey-R</param-name> <param-value>userId;roll</param-value> </init-param> <init-param> <param-name>GSInfosLengthMax</param-name> <param-value>44</param-value> </init-param> <init-param> <param-name>SFOServerName</param-name> <param-value>sfo_server1</param-value> </init-param> <init-param> <param-name>GSessionControl</param-name> <param-value>cookie</param-value> </init-param> <init-param> <param-name>GIDCookieName</param-name> <param-value>SFOSESSIONID</param-value> </init-param> <init-param> <param-name>LockTimeout</param-name> <param-value>180</param-value> </init-param> <init-param> <param-name>GSInfoTypeByteArrayEnable</param-name> <param-value>true</param-value> </init-param> </filter> <!-- Specify the filter tags here. --> <filter> <filter-name>UserFilter</filter-name> <filter-class>filter.UserFilter</filter-class> </filter> <!-- The filter mappings for the Session Fail Over--> <filter-mapping> <filter-name>com.hitachi.software.was.sfo.web.SFOFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <!-- Specify the filter-mapping tags here. --> <filter-mapping> <filter-name>UserFilter</filter-name> <url-pattern>/servlet/*</url-pattern> </filter-mapping> : </web-app> |
この例で定義される内容は,次のとおりです。
セッションフェイルオーバ機能を使用する場合のDDの定義例を示します。この例は,URL書き換えによってグローバルセッションを制御する場合の例です。
なお,ここでは,URL書き換えによる制御の場合にHTTP Cookieによる制御と異なる設定だけについて示します。これ以外の項目については,「(10) DDの定義例(HTTP Cookieによる制御の場合)」を参照してください。
: <!--The filter for Session Fail Over --> <filter> <filter-name>com.hitachi.software.was.sfo.web.SFOFilter</filter-name> <filter-class>com.hitachi.software.was.sfo.web.SFOFilter</filter-class> : <init-param> <param-name>GSessionControl</param-name> <param-value>url-rewriting</param-value> </init-param> <init-param> <param-name>GIDURLParamName</param-name> <param-value>sfogid</param-value> </init-param> : </filter> |
この例では,グローバルセッションIDの送信に使用するURLのパスパラメタ名は,「sfogid」としています。
セッションフェイルオーバ機能を使用する場合のDDの定義例を示します。この例は,制御方法としてGSessionControlに「both」を指定する場合の例です。bothは,WebクライアントがHTTP Cookieをサポートしているかどうかを判別して,必要に応じてHTTP Cookieによる制御とURL書き換えによる制御を切り替える方法です。
なお,ここでは,bothを指定する場合にHTTP Cookieによる制御と異なる設定だけについて示します。これ以外の項目については,「(10) DDの定義例(HTTP Cookieによる制御の場合)」を参照してください。
: <filter> <filter-name>com.hitachi.software.was.sfo.web.SFOFilter</filter-name> <filter-class>com.hitachi.software.was.sfo.web.SFOFilter</filter-class> : <init-param> <param-name>GSessionControl</param-name> <param-value>both</param-value> </init-param> <init-param> <param-name>GIDCookieName</param-name> <param-value>SFOSESSIONID</param-value> </init-param> <init-param> <param-name>GIDURLParamName</param-name> <param-value>sfogid</param-value> </init-param> : </filter> |
この例では,グローバルセッションIDの送信に使用するHTTP Cookieの名称は「SFOSESSIONID」としています。また,グローバルセッションIDの送信に使用するURLのパスパラメタ名は,「sfogid」としています。
All Rights Reserved. Copyright (C) 2006, 2007, Hitachi, Ltd.