J2EEサーバの設定は,簡易構築定義ファイルで実施します。EADsセッションフェイルオーバ機能の定義は,簡易構築定義ファイルの論理J2EEサーバ(j2ee-server)の<configuration>タグ内に指定します。
簡易構築定義ファイルでのEADsセッションフェイルオーバ機能の定義について次の表に示します。
表7-26 簡易構築定義ファイルでのEADsセッションフェイルオーバ機能の定義
分類 | 項目 | 指定するパラメタ | EADsのパラメタ | 設定内容 |
---|---|---|---|---|
EADsセッションフェイルオーバ機能の設定 | EADsセッションフェイルオーバ機能の設定 | webserver.eadssfo.enabled | - | J2EEサーバ単位でEADsセッションフェイルオーバ機能を使用するかどうかを設定します。 |
アプリケーション情報キャッシュのキャッシュ名の設定 | webserver.eadssfo.application.cache.name | - | EADsサーバ上のアプリケーション情報キャッシュのキャッシュ名を設定します。 | |
セッション情報キャッシュのキャッシュ名の設定 | webserver.eadssfo.session.cache.name | - | EADsサーバ上のセッション情報キャッシュのキャッシュ名を設定します。 | |
HTTPセッションの属性情報のサイズ見積もり機能の設定 | webserver.eadssfo.check_size.mode | - | HTTPセッションの属性情報のサイズ見積もり機能を使用するかどうかを設定します。 | |
EADsセッションフェイルオーバ抑止機能の設定 | webserver.eadssfo.exclude.url_patterns | - | J2EEサーバ単位でEADsセッションフェイルオーバ機能を抑止するURLパターンを設定します。 設定方法については,「(1) EADsセッションフェイルオーバ抑止機能の設定」を参照してください。 | |
参照専用リクエストの設定 | webserver.eadssfo.session_read_only.url_patterns | - | J2EEサーバ単位で参照専用リクエストとするURLパターンを設定します。 設定方法については,「(2) 参照専用リクエストの設定」を参照してください。 | |
EADsサーバへの接続リトライ回数の設定 | webserver.eadssfo.client.retry.count | - | EADsサーバへのアクセス失敗時にリトライする回数を設定します。 | |
EADsサーバへの接続リトライ間隔の設定 | webserver.eadssfo.client.retry.interval | - | EADsサーバへのアクセス失敗時にリトライする間隔(単位:ミリ秒)を設定します。 | |
EADsクライアントの設定※1 | 接続先EADsサーバ名の設定 | webserver.eadssfo.eads.client.node.list | eads.client.node.list | Webアプリケーションの開始時のEADsクライアントの初期設定で接続する,EADsサーバを識別するための名称を設定します。 |
接続先EADsサーバのホスト名の設定 | webserver.eadssfo.eads.client.<接続先EADsサーバ名>.address | eads.client.<接続先EADsサーバ名>. address | Webアプリケーションの開始時のEADsクライアントの初期設定で接続する,EADsサーバのIPアドレス,またはホスト名を設定します。 | |
接続先EADsサーバのポート番号の設定 | webserver.eadssfo.eads.client.<接続先EADsサーバ名>.port | eads.client.<接続先EADsサーバ名>. port | Webアプリケーションの開始時のEADsクライアントの初期設定で接続する,EADsサーバのポートを設定します。 | |
EADsクライアントのメッセージログの出力先の設定 | webserver.eadssfo.eads.logger.dir | eads.logger.dir | EADsクライアントによって出力されるメッセージログの出力先ディレクトリを設定します。 | |
EADsクライアントのメッセージログのファイルサイズの設定 | webserver.eadssfo.eads.logger.message.filesize | eads.logger.message.filesize | EADsクライアントによって出力されるメッセージログの1ファイル当たりのファイルサイズ(単位:バイト)を設定します。 | |
EADsクライアントのメッセージログのファイル数の設定 | webserver.eadssfo.eads.logger.message.filenum | eads.logger.message.filenum | EADsクライアントによって出力されるメッセージログのファイル数を設定します。 | |
EADsクライアントのメッセージログの標準ログ出力の設定 | webserver.eadssfo.eads.logger.message.console.enable | eads.logger.message.console.enable | EADsクライアントによって出力されるメッセージログを標準出力に出力するかどうかを設定します。 | |
EADsクライアントの電文ダンプの出力の設定 | webserver.eadssfo.eads.logger.commDump.enable | eads.logger.commDump.enable | EADsクライアントによって出力される電文ダンプを出力するかどうかを設定します。 | |
EADsクライアント通信トレースのファイルサイズの設定 | webserver.eadssfo.eads.logger.commTrace.filesize | eads.logger.commTrace.filesize | EADsクライアントによって出力される通信トレースの1ファイル当たりのファイルサイズ(単位:バイト)を設定します。 | |
EADsクライアント通信トレースのファイル数の設定 | webserver.eadssfo.eads.logger.commTrace.filenum | eads.logger.commTrace.filenum | EADsクライアントによって出力される通信トレースのファイル数を設定します。 | |
EADsクライアント通信トレースの出力の設定 | webserver.eadssfo.eads.logger.commTrace.enable | eads.logger.commTrace.enable | EADsクライアントによって出力される通信トレースを出力するかどうかを設定します。 | |
コネクションのデータ送受信バッファのサイズの設定 | webserver.eadssfo.eads.connection.buffersize | eads.connection.buffersize | コネクションの読み込みまたは書き込みデータの送受信バッファのサイズ(単位:バイト)を設定します。 | |
プールするコネクションの最大個数の設定 | webserver.eadssfo.eads.connectionPool.poolsize | eads.connectionPool.poolsize | 同一の接続先EADsサーバに対してプールしておくコネクションの最大個数を設定します。 | |
接続タイムアウトの設定 | webserver.eadssfo.eads.connection.timeout | eads.connection.timeout | EADsサーバとの接続確認やデータ送受信の監視時間(単位:ミリ秒)を設定します。 | |
接続確認でのリトライ回数の設定 | webserver.eadssfo.eads.connection.retry | eads.connection.retry | EADsサーバとの接続確認でのアクセス失敗時のリトライ回数を設定します。 | |
コンテナ拡張ライブラリの設定※2 | コンテナ拡張ライブラリの設定 | add.class.path | - | EADsセッションフェイルオーバ機能でEADsクライアントを使用するために,EADsクライアントから提供されているJARファイルをコンテナ拡張ライブラリとして指定します。 設定方法については,「(3) コンテナ拡張ライブラリの設定」を参照してください。 |
(凡例) -:該当なし。
注※1 EADsクライアント用のプロパティに指定した値が不正,または指定したすべてのEADsサーバに接続できない場合,EADsセッションフェイルオーバ機能が有効なWebアプリケーションを開始する際に,EADsクライアントの初期化に失敗します。この場合,KDJE34454-Eメッセージが出力され,Webアプリケーションの開始が中止されます。
注※2 EADsクライアントが提供しているJARファイルを指定していない場合,またはファイルパスを誤って指定した場合,EADsセッションフェイルオーバ機能が有効なWebアプリケーションを開始する際に,EADsクライアントの初期化に失敗します。この場合,KDJE34454-Eのメッセージが出力され,Webアプリケーションの開始が中止されます。
簡易構築定義ファイル,および指定するパラメタの詳細は,マニュアル「アプリケーションサーバ リファレンス 定義編(サーバ定義)」の「4.6 簡易構築定義ファイル」を参照してください。
EADsセッションフェイルオーバ抑止機能を使用するには,簡易構築定義ファイル(J2EEサーバ単位),またはcosminexus.xml(Webアプリケーション単位)に,機能を抑止するURLパターンを指定します。
簡易構築定義ファイルに指定したURLパターンは,cosminexus.xmlで設定する場合のデフォルト値となります。また,cosminexus.xmlでの指定値は,簡易構築定義ファイルでの指定値よりも優先されます。ただし,cosminexus.xmlで,タグの値を省略または空タグを指定した場合,EADsセッションフェイルオーバ機能を抑止するURLパターンは何も設定されません。この場合,簡易構築定義ファイルで指定したURLパターンも適用されません。
EADsセッションフェイルオーバ抑止機能の詳細については,「5.6.1 セッションフェイルオーバ機能の抑止」を参照してください。
URLパターンの指定方法には,完全一致指定,プリフィックス一致指定,拡張子一致指定の3種類があります。完全一致指定,およびプリフィックス一致指定では,URIを指定します。複数のURIまたは拡張子を指定する場合は,「;」(セミコロン)で区切って指定してください。
簡易構築定義ファイルに不正なURLパターンが指定された場合,J2EEサーバの開始時にKDJE34437-Wが出力され,該当するURLパターンは無効となります。また,cosminexus.xmlの属性に不正なURLパターンが指定された場合,Webアプリケーションの開始時にKDJE34437-Wが出力され,該当するURLパターンは無効となります。
指定したURIがリクエストURIに完全一致した場合だけ,EADsセッションフェイルオーバ抑止機能の対象になります。
完全一致指定では,コンテキストパスを含まない「/」(スラッシュ)で始まるURIを指定します。パスパラメタ,クエリ,およびフラグメントは含みません。また,指定するURIは正規化したURIを指定してください。なお,設定値のURI中に「;」(セミコロン)を使用することはできません。
簡易構築定義ファイルの場合の指定例を次に示します。
:
<configuration>
<logical-server-type>j2ee-server</logical-server-type>
<param>
<param-name>webserver.eadssfo.exclude.url_patterns</param-name>
<param-value>/test/TestServlet;/test2/TestServlet2</param-value>
</param>
</configuration>
:
この例の場合,次のリクエストURIがEADsセッションフェイルオーバ抑止機能の対象になります。
指定したURIとリクエストURIとのプリフィックスが一致する場合,EADsセッションフェイルオーバ抑止機能の対象になります。
プリフィックス一致指定では,コンテキストパスを含まない「/」(スラッシュ)で始まり,「/*」で終了するURIを指定します。パスパラメタ,クエリ,およびフラグメントは含みません。また,指定するURIは正規化したURIを指定してください。なお,設定値のURI中に「;」(セミコロン)を使用することはできません。
簡易構築定義ファイルの場合の指定例を次に示します。
:
<configuration>
<logical-server-type>j2ee-server</logical-server-type>
<param>
<param-name>webserver.eadssfo.exclude.url_patterns</param-name>
<param-value>/test/*</param-value>
</param>
</configuration>
:
この例の場合,次のリクエストURIがEADsセッションフェイルオーバ抑止機能の対象になります。
なお,次のような「/*」で終了しないURIを指定した場合は,プリフィックス一致指定ではなく,完全一致指定として扱われます。
/examples/test*
指定した拡張子がリクエストURIに完全一致した場合だけ,EADsセッションフェイルオーバ抑止機能の対象になります。拡張子一致指定の場合,拡張子の指定は「*.」から始まる必要があります。
簡易構築定義ファイルの場合の指定例を次に示します。
:
<configuration>
<logical-server-type>j2ee-server</logical-server-type>
<param>
<param-name>webserver.eadssfo.exclude.url_patterns</param-name>
<param-value>*.html;*.jpg</param-value>
</param>
</configuration>
:
この例の場合,次のリクエストURIがEADsセッションフェイルオーバ抑止機能の対象になります。
EADsセッションフェイルオーバ抑止機能の対象とするURLパターンは,正規化したURIで指定する必要があります。
正規化したURIの例を次に示します。
正規化していないURIの例を次に示します。これらのURIは抑止の対象外になります。
URLエンコードされた文字列を含むURIを指定した場合は,URIのデコード機能の有効・無効によってEADsセッションフェイルオーバ抑止機能の対象となるURIが異なります。URIのデコード機能の有効・無効によって,リクエストURLが抑止機能の対象となるかどうかを次の表に示します。
表7-27 URIのデコード機能の有効・無効と抑止機能の対象
プロパティ 設定値 | リクエストURL | |||
---|---|---|---|---|
URIのデコード機能 有効 | URIのデコード機能 無効 | |||
エンコードあり | エンコードなし | エンコードあり | エンコードなし | |
エンコードあり | 抑止しない | 抑止しない | 抑止する | 抑止しない |
エンコードなし | 抑止する | 抑止する | 抑止しない | 抑止する |
URIのデコード機能については,マニュアル「アプリケーションサーバ 機能解説 基本・開発編(Webコンテナ)」の「2.22 URIのデコード機能」を参照してください。
参照専用リクエストを設定するには,簡易構築定義ファイル(J2EEサーバ単位),またはcosminexus.xml(Webアプリケーション単位)に,参照専用リクエストとして扱うURLパターンを指定します。
簡易構築定義ファイルに指定したURLパターンは,cosminexus.xmlで設定する場合のデフォルト値となります。また,cosminexus.xmlでの指定値は,簡易構築定義ファイルでの指定値よりも優先されます。ただし,cosminexus.xmlで,タグの値を省略または空タグを指定した場合,参照専用リクエストのURLパターンは何も設定されません。この場合,簡易構築定義ファイルで指定したURLパターンも適用されません。
参照専用リクエストの詳細については,「5.6.2 HTTPセッションの参照専用リクエストの定義」を参照してください。
URLパターンの指定方法には,完全一致指定,プリフィックス一致指定,拡張子一致指定の3種類があります。完全一致指定,およびプリフィックス一致指定では,URIを指定します。複数のURIまたは拡張子を指定する場合は,「;」(セミコロン)で区切って指定してください。
簡易構築定義ファイルに不正なURLパターンが指定された場合,J2EEサーバ開始時にKDJE34438-Wが出力され,該当するURLパターンは無効となります。また,cosminexus.xmlの属性に不正なURLパターンが指定された場合,Webアプリケーションの開始時にKDJE34438-Wが出力され,該当するURLパターンは無効となります。
指定したURIがリクエストURIに完全一致した場合だけ,参照専用リクエストになります。
完全一致指定では,コンテキストパスを含まない「/」(スラッシュ)で始まるURIを指定します。パスパラメタ,クエリ,およびフラグメントは含みません。また,指定するURIは正規化したURIを指定してください。なお,設定値のURI中に「;」(セミコロン)を使用することはできません。
簡易構築定義ファイルの場合の指定例を次に示します。
:
<configuration>
<logical-server-type>j2ee-server</logical-server-type>
<param>
<param-name>webserver.eadssfo.session_read_only.url_patterns</param-name>
<param-value>/test/TestServlet;/test2/TestServlet2</param-value>
</param>
</configuration>
:
この例の場合,次のリクエストURIが参照専用リクエストになります。
指定したURIとリクエストURIのプリフィックスが一致する場合,参照専用リクエストになります。
プリフィックス一致指定では,コンテキストパスを含まない「/」(スラッシュ)で始まり,「/*」で終了するURIを指定します。パスパラメタ,クエリ,およびフラグメントは含みません。また,指定するURIは正規化したURIを指定してください。なお,設定値のURI中に「;」(セミコロン)を使用することはできません。
簡易構築定義ファイルの場合の指定例を次に示します。
:
<configuration>
<logical-server-type>j2ee-server</logical-server-type>
<param>
<param-name>webserver.eadssfo.session_read_only.url_patterns</param-name>
<param-value>/test/*</param-value>
</param>
</configuration>
:
この例の場合,次のリクエストURIが参照専用リクエストになります。
なお,次のような「/*」で終了しないURIを指定した場合は,プリフィックス一致指定ではなく,完全一致指定として扱われます。
/examples/test*
指定した拡張子がリクエストURIに完全一致した場合だけ,参照専用リクエストになります。拡張子一致指定の場合,拡張子の指定は「*.」から始まる必要があります。
簡易構築定義ファイルの場合の指定例を次に示します。
:
<configuration>
<logical-server-type>j2ee-server</logical-server-type>
<param>
<param-name>webserver.eadssfo.session_read_only.url_patterns</param-name>
<param-value>*.html;*.jpg</param-value>
</param>
</configuration>
:
この例の場合,次のリクエストURIがEADsセッションフェイルオーバ抑止機能の対象になります。
参照専用リクエストとするURIは,正規化して指定する必要があります。正規化していないURIを指定した場合,KDJE34357-Wのメッセージが出力されて,該当するURIは参照専用リクエストになりません。
正規化したURIの例を次に示します。
正規化していないURIの例を次に示します。これらのURIは参照専用リクエストになりません。
URLエンコードをしたURIを参照専用リクエストとして指定した場合は,指定したURIと一致する,URLエンコードされたURLのリクエストが参照専用リクエストになります。同様に,URLエンコードをしないURIを指定した場合は,URLエンコードされていないURLのリクエストが参照専用リクエストになります。
ただし,URIのデコード機能を使用する場合,対象のURLは,デコードが実施されたあとでURIによる参照専用リクエストかどうかが判定されます。このため,URLエンコードされたURLが参照専用リクエストとして指定したURIと一致する場合に,URI単位の参照専用リクエストになります。
URIのデコード機能の有効・無効によって参照専用リクエストになるURLについて,次の表に示します。
表7-28 URIのデコード機能の有効・無効によって参照専用リクエストになるURL
プロパティ 設定値 | リクエストURL | |||
---|---|---|---|---|
URIのデコード機能 有効 | URIのデコード機能 無効 | |||
エンコードあり | エンコードなし | エンコードあり | エンコードなし | |
エンコードあり | 参照専用リクエストにならない | 参照専用リクエストにならない | 参照専用リクエストになる | 参照専用リクエストにならない |
エンコードなし | 参照専用リクエストになる | 参照専用リクエストになる | 参照専用リクエストにならない | 参照専用リクエストになる |
URIのデコード機能については,マニュアル「アプリケーションサーバ 機能解説 基本・開発編(Webコンテナ)」の「2.22 URIのデコード機能」を参照してください。
EADsセッションフェイルオーバ機能でEADsクライアントを使用するために,EADsクライアントから提供されているJARファイルをコンテナ拡張ライブラリとして簡易構築定義ファイルに指定する必要があります。
簡易構築定義ファイルの記載例を次に示します。
add.class.path=<EADsクライアントを配置したディレクトリ>¥javaclient¥lib¥eads-client.jar
add.class.path=<EADsクライアントを配置したディレクトリ>¥javaclient¥lib¥eads-common.jar
add.class.path=<EADsクライアントを配置したディレクトリ>¥javaclient¥lib¥hntrlib2-eads-j.jar