7.5 J2EEサーバの設定

J2EEサーバの設定は,簡易構築定義ファイルで実施します。EADsセッションフェイルオーバ機能の定義は,簡易構築定義ファイルの論理J2EEサーバ(j2ee-server)の<configuration>タグ内に指定します。

簡易構築定義ファイルでのEADsセッションフェイルオーバ機能の定義について次の表に示します。

表7-26 簡易構築定義ファイルでのEADsセッションフェイルオーバ機能の定義

分類項目指定するパラメタEADsのパラメタ設定内容
EADsセッションフェイルオーバ機能の設定EADsセッションフェイルオーバ機能の設定webserver.eadssfo.enabledJ2EEサーバ単位でEADsセッションフェイルオーバ機能を使用するかどうかを設定します。
アプリケーション情報キャッシュのキャッシュ名の設定webserver.eadssfo.application.cache.nameEADsサーバ上のアプリケーション情報キャッシュのキャッシュ名を設定します。
セッション情報キャッシュのキャッシュ名の設定webserver.eadssfo.session.cache.nameEADsサーバ上のセッション情報キャッシュのキャッシュ名を設定します。
HTTPセッションの属性情報のサイズ見積もり機能の設定webserver.eadssfo.check_size.modeHTTPセッションの属性情報のサイズ見積もり機能を使用するかどうかを設定します。
EADsセッションフェイルオーバ抑止機能の設定webserver.eadssfo.exclude.url_patternsJ2EEサーバ単位でEADsセッションフェイルオーバ機能を抑止するURLパターンを設定します。
設定方法については,「(1) EADsセッションフェイルオーバ抑止機能の設定」を参照してください。
参照専用リクエストの設定webserver.eadssfo.session_read_only.url_patternsJ2EEサーバ単位で参照専用リクエストとするURLパターンを設定します。
設定方法については,「(2) 参照専用リクエストの設定」を参照してください。
EADsサーバへの接続リトライ回数の設定webserver.eadssfo.client.retry.countEADsサーバへのアクセス失敗時にリトライする回数を設定します。
EADsサーバへの接続リトライ間隔の設定webserver.eadssfo.client.retry.intervalEADsサーバへのアクセス失敗時にリトライする間隔(単位:ミリ秒)を設定します。
EADsクライアントの設定※1接続先EADsサーバ名の設定webserver.eadssfo.eads.client.node.listeads.client.node.listWebアプリケーションの開始時のEADsクライアントの初期設定で接続する,EADsサーバを識別するための名称を設定します。
接続先EADsサーバのホスト名の設定webserver.eadssfo.eads.client.<接続先EADsサーバ名>.addresseads.client.<接続先EADsサーバ名>.
address
Webアプリケーションの開始時のEADsクライアントの初期設定で接続する,EADsサーバのIPアドレス,またはホスト名を設定します。
接続先EADsサーバのポート番号の設定webserver.eadssfo.eads.client.<接続先EADsサーバ名>.porteads.client.<接続先EADsサーバ名>.
port
Webアプリケーションの開始時のEADsクライアントの初期設定で接続する,EADsサーバのポートを設定します。
EADsクライアントのメッセージログの出力先の設定webserver.eadssfo.eads.logger.direads.logger.dirEADsクライアントによって出力されるメッセージログの出力先ディレクトリを設定します。
EADsクライアントのメッセージログのファイルサイズの設定webserver.eadssfo.eads.logger.message.filesizeeads.logger.message.filesizeEADsクライアントによって出力されるメッセージログの1ファイル当たりのファイルサイズ(単位:バイト)を設定します。
EADsクライアントのメッセージログのファイル数の設定webserver.eadssfo.eads.logger.message.filenumeads.logger.message.filenumEADsクライアントによって出力されるメッセージログのファイル数を設定します。
EADsクライアントのメッセージログの標準ログ出力の設定webserver.eadssfo.eads.logger.message.console.enableeads.logger.message.console.enableEADsクライアントによって出力されるメッセージログを標準出力に出力するかどうかを設定します。
EADsクライアントの電文ダンプの出力の設定webserver.eadssfo.eads.logger.commDump.enableeads.logger.commDump.enableEADsクライアントによって出力される電文ダンプを出力するかどうかを設定します。
EADsクライアント通信トレースのファイルサイズの設定webserver.eadssfo.eads.logger.commTrace.filesizeeads.logger.commTrace.filesizeEADsクライアントによって出力される通信トレースの1ファイル当たりのファイルサイズ(単位:バイト)を設定します。
EADsクライアント通信トレースのファイル数の設定webserver.eadssfo.eads.logger.commTrace.filenumeads.logger.commTrace.filenumEADsクライアントによって出力される通信トレースのファイル数を設定します。
EADsクライアント通信トレースの出力の設定webserver.eadssfo.eads.logger.commTrace.enableeads.logger.commTrace.enableEADsクライアントによって出力される通信トレースを出力するかどうかを設定します。
コネクションのデータ送受信バッファのサイズの設定webserver.eadssfo.eads.connection.buffersizeeads.connection.buffersizeコネクションの読み込みまたは書き込みデータの送受信バッファのサイズ(単位:バイト)を設定します。
プールするコネクションの最大個数の設定webserver.eadssfo.eads.connectionPool.poolsizeeads.connectionPool.poolsize同一の接続先EADsサーバに対してプールしておくコネクションの最大個数を設定します。
接続タイムアウトの設定webserver.eadssfo.eads.connection.timeouteads.connection.timeoutEADsサーバとの接続確認やデータ送受信の監視時間(単位:ミリ秒)を設定します。
接続確認でのリトライ回数の設定webserver.eadssfo.eads.connection.retryeads.connection.retryEADsサーバとの接続確認でのアクセス失敗時のリトライ回数を設定します。
コンテナ拡張ライブラリの設定※2コンテナ拡張ライブラリの設定add.class.pathEADsセッションフェイルオーバ機能でEADsクライアントを使用するために,EADsクライアントから提供されているJARファイルをコンテナ拡張ライブラリとして指定します。
設定方法については,「(3) コンテナ拡張ライブラリの設定」を参照してください。

(凡例) -:該当なし。

注※1 EADsクライアント用のプロパティに指定した値が不正,または指定したすべてのEADsサーバに接続できない場合,EADsセッションフェイルオーバ機能が有効なWebアプリケーションを開始する際に,EADsクライアントの初期化に失敗します。この場合,KDJE34454-Eメッセージが出力され,Webアプリケーションの開始が中止されます。

注※2 EADsクライアントが提供しているJARファイルを指定していない場合,またはファイルパスを誤って指定した場合,EADsセッションフェイルオーバ機能が有効なWebアプリケーションを開始する際に,EADsクライアントの初期化に失敗します。この場合,KDJE34454-Eのメッセージが出力され,Webアプリケーションの開始が中止されます。


簡易構築定義ファイル,および指定するパラメタの詳細は,マニュアル「アプリケーションサーバ リファレンス 定義編(サーバ定義)」の「4.6 簡易構築定義ファイル」を参照してください。

<この節の構成>
(1) EADsセッションフェイルオーバ抑止機能の設定
(2) 参照専用リクエストの設定
(3) コンテナ拡張ライブラリの設定

(1) EADsセッションフェイルオーバ抑止機能の設定

EADsセッションフェイルオーバ抑止機能を使用するには,簡易構築定義ファイル(J2EEサーバ単位),またはcosminexus.xml(Webアプリケーション単位)に,機能を抑止するURLパターンを指定します。

簡易構築定義ファイルに指定したURLパターンは,cosminexus.xmlで設定する場合のデフォルト値となります。また,cosminexus.xmlでの指定値は,簡易構築定義ファイルでの指定値よりも優先されます。ただし,cosminexus.xmlで,タグの値を省略または空タグを指定した場合,EADsセッションフェイルオーバ機能を抑止するURLパターンは何も設定されません。この場合,簡易構築定義ファイルで指定したURLパターンも適用されません。

EADsセッションフェイルオーバ抑止機能の詳細については,「5.6.1 セッションフェイルオーバ機能の抑止」を参照してください。

(a) URLパターンの指定方法

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セッションフェイルオーバ抑止機能の対象になります。

(b) URIの正規化

EADsセッションフェイルオーバ抑止機能の対象とするURLパターンは,正規化したURIで指定する必要があります。

正規化したURIの例を次に示します。

正規化していないURIの例を次に示します。これらのURIは抑止の対象外になります。

(c) URLエンコードとの対応

URLエンコードされた文字列を含むURIを指定した場合は,URIのデコード機能の有効・無効によってEADsセッションフェイルオーバ抑止機能の対象となるURIが異なります。URIのデコード機能の有効・無効によって,リクエストURLが抑止機能の対象となるかどうかを次の表に示します。

表7-27 URIのデコード機能の有効・無効と抑止機能の対象

プロパティ
設定値
リクエストURL
URIのデコード機能 有効URIのデコード機能 無効
エンコードありエンコードなしエンコードありエンコードなし
エンコードあり抑止しない抑止しない抑止する抑止しない
エンコードなし抑止する抑止する抑止しない抑止する
(凡例)
抑止する:EADsセッションフェイルオーバ機能を抑止する。
抑止しない:EADsセッションフェイルオーバ機能を抑止しない。
エンコードあり:URLエンコードされた文字列を含むURI。
(例:/examples/%61/Servlet)
エンコードなし:URLエンコードされた文字列を含まないURI。
(例:/examples/a/Servlet)

URIのデコード機能については,マニュアル「アプリケーションサーバ 機能解説 基本・開発編(Webコンテナ)」の「2.22 URIのデコード機能」を参照してください。

(2) 参照専用リクエストの設定

参照専用リクエストを設定するには,簡易構築定義ファイル(J2EEサーバ単位),またはcosminexus.xml(Webアプリケーション単位)に,参照専用リクエストとして扱うURLパターンを指定します。

簡易構築定義ファイルに指定したURLパターンは,cosminexus.xmlで設定する場合のデフォルト値となります。また,cosminexus.xmlでの指定値は,簡易構築定義ファイルでの指定値よりも優先されます。ただし,cosminexus.xmlで,タグの値を省略または空タグを指定した場合,参照専用リクエストのURLパターンは何も設定されません。この場合,簡易構築定義ファイルで指定したURLパターンも適用されません。

参照専用リクエストの詳細については,「5.6.2 HTTPセッションの参照専用リクエストの定義」を参照してください。

(a) URLパターンの指定方法

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セッションフェイルオーバ抑止機能の対象になります。

(b) URIの正規化

参照専用リクエストとするURIは,正規化して指定する必要があります。正規化していないURIを指定した場合,KDJE34357-Wのメッセージが出力されて,該当するURIは参照専用リクエストになりません。

正規化したURIの例を次に示します。

正規化していないURIの例を次に示します。これらのURIは参照専用リクエストになりません。

(c) URLエンコードとの対応

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のデコード機能 無効
エンコードありエンコードなしエンコードありエンコードなし
エンコードあり参照専用リクエストにならない参照専用リクエストにならない参照専用リクエストになる参照専用リクエストにならない
エンコードなし参照専用リクエストになる参照専用リクエストになる参照専用リクエストにならない参照専用リクエストになる
(凡例)
参照専用リクエストになる:リクエストURLが参照専用リクエストになる。
参照専用リクエストにならない:リクエストURLが参照専用リクエストにならない。
エンコードあり:URLエンコードされた文字列を含むURI。
(例:/examples/%61/Servlet)
エンコードなし:URLエンコードされた文字列を含まないURI。
(例:/examples/a/Servlet)

URIのデコード機能については,マニュアル「アプリケーションサーバ 機能解説 基本・開発編(Webコンテナ)」の「2.22 URIのデコード機能」を参照してください。

(3) コンテナ拡張ライブラリの設定

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