7.3.1 アプリケーション開始時の処理

ここでは,アプリケーション開始時に実施されるアプリケーションのネゴシエーション処理,およびアプリケーションのネゴシエーション処理で使用するアプリケーション識別子について説明します。

<この項の構成>
(1) アプリケーションのネゴシエーション処理
(2) ネゴシエーションで確認される内容
(3) ネゴシエーション処理で確認されるWebアプリケーションの設定情報
(4) アプリケーション識別子

(1) アプリケーションのネゴシエーション処理

ネゴシエーション処理とは,EADsセッションフェイルオーバ機能を使用するWebアプリケーションの開始時に,開始するWebアプリケーションの設定情報と,EADsサーバに保存されている情報とが一致するかどうかを確認するための処理です。

ネゴシエーション処理の結果,設定情報が一致する場合は,Webアプリケーションが開始されます。設定情報が一致しない場合,次のどちらかの処理が実行されます。

なお,EADsサーバから取得したアプリケーション情報が不正な場合は,KDJE34452-Eが出力され,Webアプリケーションの開始が中止されます。出力されたメッセージに従って対処してください。

(2) ネゴシエーションで確認される内容

ネゴシエーションで確認される内容の詳細について説明します。

(a) Webアプリケーションが一致していること

次の表に示す確認項目がアプリケーションキャッシュに保存された情報とすべて一致することで,Webアプリケーションが一致していると判断されます。確認項目,確認項目が不一致の場合の動作,および出力されるメッセージを次の表に示します。

表7-9 Webアプリケーションの一致の確認のために使用される項目

項番確認項目不一致の場合の動作不一致の場合に出力されるメッセージ
1アプリケーション識別子Webアプリケーションの開始が継続されます(異なるアプリケーションとして扱われます)。
2J2EEアプリケーション名Webアプリケーションの開始が中止されます。KDJE34453-E
3Webアプリケーション名(コンテキストルート名)

(凡例)-:該当なし

注※ アプリケーション識別子については,「(4) アプリケーション識別子」を参照してください。


(b) 各Webアプリケーションの設定が一致していること

次の表に示す確認項目について,冗長化した各Webアプリケーションの設定がアプリケーションキャッシュに保存された情報と一致しているかが確認されます。確認項目,確認項目が不一致の場合の動作,および出力されるメッセージを次の表に示します。

表7-10 各Webアプリケーションの設定の一致を確認するための項目

項番確認項目不一致の場合の動作不一致の場合に出力されるメッセージ
1HttpSessionオブジェクト数の上限値Webアプリケーションの開始処理を続行します。KDJE34409-I
2DD(web.xml)に定義されたHTTPセッションの有効期間
3EADsセッションフェイルオーバ機能を抑止するURLパターンWebアプリケーションの開始が中止されます。KDJE34406-E
4参照専用リクエストのURLパターン
(c) J2EEサーバの設定が一致していること

次の表に示す確認項目について,冗長化した各J2EEサーバの設定が一致しているか確認されます。確認項目,確認項目が不一致の場合の動作,および出力されるメッセージを次の表に示します。

表7-11 各J2EEサーバの設定の一致を確認するための項目

項番確認項目不一致の場合の動作不一致の場合に出力されるメッセージ
1EADsセッションフェイルオーバ機能を抑止するURLパターンWebアプリケーションの開始が中止されます。KDJE34406-E
2参照専用リクエストのURLパターン
(d) EADsサーバの設定が正しいこと

次の表に示す条件を満たしているかが確認されます。確認項目,確認項目が不一致の場合の動作,および出力されるメッセージを次の表に示します。

表7-12 EADsサーバの設定が正しいことを確認するための条件

項番条件不一致の場合の動作不一致の場合に出力されるメッセージ
1必要なキャッシュがEADsサーバに存在すること。Webアプリケーションの開始が中止されます。KDJE34407-E

(3) ネゴシエーション処理で確認されるWebアプリケーションの設定情報

最初にネゴシエーション処理に成功したWebアプリケーションの設定情報は,EADsサーバ上のアプリケーション情報キャッシュに保存されます。その後のネゴシエーションでは,Webアプリケーションの設定情報とアプリケーション情報キャッシュに保存された設定情報が比較され,内容が一致しているかどうかが確認されます。

このため,Webアプリケーションの設定情報を変更する場合は,すでにEADsサーバ上のアプリケーション情報キャッシュに保存されている,変更対象のWebアプリケーションに関連する設定情報を削除する必要があります。設定情報の削除手順については,「7.7.2 アプリケーション情報の初期化」を参照してください。

(4) アプリケーション識別子

アプリケーション識別子とは,EADsセッションフェイルオーバ機能使用時に,クラスタリングされたWebアプリケーションを認識するための名称です。デフォルトの設定では,システムによって自動的に生成されます。

アプリケーション識別子は,ネゴシエーション処理でWebアプリケーションが一致しているかどうかの確認に使用されます。そのため,次の条件を満たしている必要があります。

システムによって自動的に生成されるアプリケーション識別子が条件を満たさない場合,条件を満たす値を定義する必要があります。定義方法については「7.4 cosminexus.xmlでの定義」を参照してください。

アプリケーション識別子の自動生成規則,および自動生成されるアプリケーション識別子の例について説明します。

注意
異なるWebアプリケーションに同じアプリケーション識別子が設定されている場合,二つ目のWebアプリケーション開始時にネゴシエーション処理に失敗して,Webアプリケーションが開始されません。
(a) アプリケーション識別子の自動生成規則

デフォルトの設定では,アプリケーション識別子にはコンテキストルート名を基にした文字列が自動的に設定されます。アプリケーション識別子が自動的に生成された場合,Webアプリケーション開始時に,適用した値がKDJE34402-Iのメッセージでメッセージログに出力されます。

コンテキストルート名を基にしたアプリケーション識別子の自動生成には,次に示す規則が適用されます。

自動生成規則を適用した結果,アプリケーション識別子がシステム内で一意でなくなる場合があります。この場合,同じアプリケーション識別子が設定されている二つ目のWebアプリケーション開始時にネゴシエーション処理に失敗して,Webアプリケーションが開始されません。そのため,Webアプリケーションに対してシステム内で一意になるアプリケーション識別子を設定する必要があります。

(b) 自動生成されるアプリケーション識別子の例

コンテキストルート名から自動生成されるデフォルトのアプリケーション識別子の例を次の表に示します。

表7-13 自動生成されるデフォルトのアプリケーション識別子の例

項番コンテキストルート名アプリケーション識別子作成時に適用されるルール
1/examplesexamples先頭の"/"を削除する
2/App01/test1App01_test1
  • 先頭の"/"を削除する
  • 途中の"/"を"_"に置換する
3/ROOTルートコンテキストのため"ROOT"とする