J2EEサーバの設定は,簡易構築定義ファイルで実施します。データベースセッションフェイルオーバ機能の定義は,簡易構築定義ファイルの論理J2EEサーバ(j2ee-server)の<configuration>タグ内に指定します。
簡易構築定義ファイルでのデータベースセッションフェイルオーバ機能の定義について次の表に示します。
表6-50 簡易構築定義ファイルでのデータベースセッションフェイルオーバ機能の定義
項目 | 指定するパラメタ | 設定内容 | 参照先 |
---|---|---|---|
データベースセッションフェイルオーバ機能の設定 | webserver.dbsfo.enabled | J2EEサーバ単位でデータベースセッションフェイルオーバ機能を使用するかどうかを設定します。 | - |
DB Connectorの別名の設定 | webserver.dbsfo.connector.name | DB Connectorで設定する,DB Connectorの別名を指定します。 DB Connectorの別名の設定については「6.13.2 DB Connectorの別名の設定」を参照してください。 | - |
完全性保障モードの設定 | webserver.dbsfo.integrity_mode.enabled※1 | データベースセッションフェイルオーバ機能の完全性保障モードを有効にするかどうかを設定します。 | - |
シリアライズ処理で使用するメモリ量の設定 | - | シリアライズ処理で使用するメモリを考慮して,JavaVMのチューニングをします※2。 | - |
拡張子によるデータベースセッションフェイルオーバ機能の抑止の設定 | webserver.dbsfo.exclude.extensions | J2EEサーバ単位でデータベースセッションフェイルオーバ機能を使用する場合に,データベースセッションフェイルオーバ機能を抑止する拡張子を設定します。 | - |
URI単位のデータベースセッションフェイルオーバ機能の抑止の設定 | webserver.dbsfo.exclude.uris | J2EEサーバ単位でデータベースセッションフェイルオーバ機能を使用する場合に,データベースセッションフェイルオーバ機能を抑止するURIを設定します。 | (1) |
参照専用リクエストの設定 | webserver.dbsfo.session_read_only.uris | 参照専用リクエストとするURIを設定します。 | (2) |
HttpSessionのサーバID付加機能の設定 |
| HttpSessionのサーバID付加機能を設定します。また,サーバIDには冗長化したJ2EEサーバごとに異なる値を設定します。 | - |
同時実行スレッド数制御機能を使用する場合の実行待ちキュー不足時の設定 | webserver.dbsfo.thread_control_queue.enabled | Webアプリケーション単位の同時実行スレッド数制御機能が有効の場合に,実行待ちキューの空きが不足したときの動作を設定します。 | - |
ネゴシエーション失敗時のWebアプリケーション開始処理の設定 | webserver.dbsfo.negotiation.high_level | ネゴシエーションが失敗した場合にWebアプリケーションの開始処理を続行するか中止するかを設定します。 | - |
データベースセッションフェイルオーバ機能の抑止対象リクエスト内での,getSessionメソッド実行時の例外の設定 | webserver.dbsfo.exception_type_backcompat | データベースセッションフェイルオーバ機能の抑止対象リクエスト内で,javax.servlet.http.HttpServletRequestインタフェースのgetSessionメソッドを実行した場合に発生する例外を設定します。 | - |
(凡例)-:該当なし。
注※1 完全性保障モードの設定でwebserver.dbsfo.integrity_mode.enabledパラメタにfalseを指定した場合,HttpSessionのサーバID付加機能の設定でwebserver.session.server_id.enabledパラメタ,およびwebserver.session.server_id.valueパラメタを指定する必要があります。
注※2 シリアライズ処理で使用するメモリ量の見積もり方法については,「6.5.1 シリアライズ処理で使用するメモリの見積もり」を参照してください。JavaVMのチューニングについては,マニュアル「Cosminexus アプリケーションサーバ システム設計ガイド」の「7. JavaVMのメモリチューニング」を参照してください。
簡易構築定義ファイル,および指定するパラメタの詳細は,マニュアル「Cosminexus アプリケーションサーバ リファレンス 定義編(サーバ定義)」の「4.6 簡易構築定義ファイル」を参照してください。
ここでは,URI単位のデータベースセッションフェイルオーバ機能の抑止をする場合の,URIの指定方法について説明します。
コンテキストパスを含む「/」(スラッシュ)で始まるURIを指定します。パスパラメタ,クエリ,およびフラグメントは含みません。なお,設定値のURI中に「;」(セミコロン)を使用することはできません。
また,複数のURIを指定する場合は,「;」(セミコロン)で区切って指定してください。
次のどちらかで指定できます。
:
<configuration>
<logical-server-type>j2ee-server</logical-server-type>
<param>
<param-name>webserver.dbsfo.exclude.uris</param-name>
<param-value>/examples/test/TestServlet;/examples/test2/TestServlet2</param-value>
</param>
</configuration>
:
:
<configuration>
<logical-server-type>j2ee-server</logical-server-type>
<param>
<param-name>webserver.dbsfo.exclude.uris</param-name>
<param-value>/examples/*</param-value>
</param>
</configuration>
:
データベースセッションフェイルオーバ機能の抑止対象とするURIは,正規化して指定する必要があります。正規化していないURIを指定した場合,KDJE34341-Wのメッセージが出力されて,該当するURIは抑止の対象外になります。
正規化したURIの例を次に示します。
正規化していないURIの例を次に示します。これらのURIは抑止の対象外になります。
URLエンコードをしたURIを抑止対象として指定した場合は,指定したURIと一致する,URLエンコードされたURLのリクエストがデータベースセッションフェイルオーバ機能の抑止対象になります。同様に,URLエンコードをしないURIを指定した場合は,URLエンコードされていないURLのリクエストがデータベースセッションフェイルオーバ機能の抑止対象になります。
ただし,URIのデコード機能を使用する場合,対象のURLは,デコードが実施されたあとでURIによるデータベースフェイルオーバ機能の抑止の対象かどうかが判定されます。このため,URLエンコードされたURLが抑止対象として指定したURIと一致する場合に,URI単位のデータベースセッションフェイルオーバ機能の抑止対象になります。
URIのデコード機能の有効・無効によって抑止の対象となるURLについて,次の表に示します。
表6-51 URIのデコード機能の有効・無効によって抑止の対象となるURL
プロパティ 設定値 | リクエストURL | |||
---|---|---|---|---|
URIのデコード機能 有効 | URIのデコード機能 無効 | |||
エンコードあり | エンコードなし | エンコードあり | エンコードなし | |
エンコードあり | 抑止しない | 抑止しない | 抑止する | 抑止しない |
エンコードなし | 抑止する | 抑止する | 抑止しない | 抑止する |
URIのデコード機能については,マニュアル「Cosminexus アプリケーションサーバ 機能解説 基本・開発編(Webコンテナ)」の「2.23 URIのデコード機能」を参照してください。
URIによるデータベースセッションフェイルオーバ機能の抑止で設定するURIは,ネゴシエーション時に確認される項目ではありません。このため,それぞれのJ2EEサーバで設定するURIが同じことを確認してください。
ここでは,参照専用リクエストを設定する場合の,URIの指定方法について説明します。
コンテキストパスを含む「/」(スラッシュ)で始まるURIを指定します。パスパラメタ,クエリ,およびフラグメントは含みません。指定できる文字数は512文字までです。なお,設定値のURI中に「;」(セミコロン)を使用することはできません。
また,複数のURIを指定する場合は,「;」(セミコロン)で区切って指定してください。
次のどちらかで指定できます。
:
<configuration>
<logical-server-type>j2ee-server</logical-server-type>
<param>
<param-name>webserver.dbsfo.session_read_only.uris</param-name>
<param-value>/examples/test/TestServlet;/examples/test2/TestServlet2</param-value>
</param>
</configuration>
:
:
<configuration>
<logical-server-type>j2ee-server</logical-server-type>
<param>
<param-name>webserver.dbsfo.session_read_only.uris</param-name>
<param-value>/examples/*</param-value>
</param>
</configuration>
:
参照専用リクエストとする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について,次の表に示します。
表6-52 URIのデコード機能の有効・無効によって参照専用リクエストになるURL
プロパティ 設定値 | リクエストURL | |||
---|---|---|---|---|
URIのデコード機能 有効 | URIのデコード機能 無効 | |||
エンコードあり | エンコードなし | エンコードあり | エンコードなし | |
エンコードあり | 参照専用リクエストにならない | 参照専用リクエストにならない | 参照専用リクエストになる | 参照専用リクエストにならない |
エンコードなし | 参照専用リクエストになる | 参照専用リクエストになる | 参照専用リクエストにならない | 参照専用リクエストになる |
URIのデコード機能については,マニュアル「Cosminexus アプリケーションサーバ 機能解説 基本・開発編(Webコンテナ)」の「2.23 URIのデコード機能」を参照してください。