データベースセッションフェイルオーバ機能は24時間連続稼働を実現するための機能です。連続稼働を実現するには,データベースに障害が発生した場合もシステムに影響を与えないために,コネクションの障害検知などの設定が必要です。障害回復に必要な時間を考慮して,値を設定してください。
コネクションの障害検知については,マニュアル「Cosminexus アプリケーションサーバ 機能解説 基本・開発編(コンテナ共通機能)」の「3.15.1 コネクションの障害検知」を参照してください。
DB Connectorに設定するプロパティおよび設定方法の詳細については,マニュアル「Cosminexus アプリケーションサーバ アプリケーション設定操作ガイド」の「4.2.2 DB Connectorのプロパティ定義」を参照してください。
DB Connectorに設定が必要なプロパティについて説明します。
<config-property>タグで設定するプロパティについて使用するデータベースごとに示します。なお,ここで示していないプロパティについては,データベースセッションフェイルオーバ機能に関する設定は不要です。
HiRDBを使用する場合に設定するプロパティについて次の表に示します。
表6-53 HiRDBを使用する場合に設定するプロパティ
<config-property-name>タグに指定する値 | <config-property-type>タグに指定する値 | <config-property-value>タグに指定する内容または値 | 必須/任意 |
---|---|---|---|
description | java.lang.String | データベースへの接続に必要な接続付加情報を指定します。 | ○ |
DBHostName | java.lang.String | 接続するHiRDBのホスト名を指定します。 | ○ |
loginTimeout | java.lang.Integer | getConnectionメソッドでConnectionオブジェクトを取得する際の,HiRDBサーバとの物理接続確立の最大待ち時間(秒)を指定します。 | △ |
LONGVARBINARY_Access | java.lang.String | 「LOCATOR」を指定します。 | ○ |
PreparedStatementPoolSize | java.lang.Integer | 30×<J2EEサーバ内のデータベースセッションフェイルオーバ機能を使用するWebアプリケーション数>で求められる数値を指定します。 | ○ |
CancelStatement | java.lang.Boolean | 「true」を指定します。 | ○ |
logLevel | java.lang.String | DB Connectorが出力するログトレースのレベルについて,任意のレベルを指定します。 | △ |
(凡例) ○:必須 △:任意
Oracleを使用する場合に設定するプロパティについて次の表に示します。
表6-54 Oracleを使用する場合に設定するプロパティ
<config-property-name>タグに指定する値 | <config-property-type>タグに指定する値 | <config-property-value>タグに指定する内容または値 | 必須/任意 |
---|---|---|---|
databaseName | java.lang.String | Oracleサーバ上の特定のデータベース名(SID)を指定します。 | ○※ |
serverName | java.lang.String | Oracleサーバのホスト名またはIPアドレスを指定します。 | ○※ |
portNumber | java.lang.Integer | Oracleのサーバが要求をリスニングするポート番号を指定します。 | ○※ |
url | java.lang.String | Oracle JDBC Thin Driverがデータベースに接続するために必要なJDBC URLを指定します。 | ○※ |
loginTimeout | java.lang.Integer | データベースへの接続試行のタイムアウト(単位:ミリ秒)を指定します。 | △ |
PreparedStatementPoolSize | java.lang.Integer | 30×<J2EEサーバ内のデータベースセッションフェイルオーバ機能を使用するWebアプリケーション数>で求められる数値を指定します。 | ○ |
logLevel | java.lang.String | DB Connectorが出力するログトレースのレベルについて,任意のレベルを指定します。 | △ |
(凡例) ○:必須 △:任意
注※ databaseName,serverNameおよびportNumberのすべての値を指定するか,urlの値を指定してください。
<property>タグで設定するプロパティについて次の表に示します。なお,ここで示していないプロパティについては,データベースセッションフェイルオーバ機能に関する設定は不要です。
<property-name>タグに指定する値 | <property-type>タグに指定する値 | <property-default-value>タグの値 | <property-value>タグに指定する内容または値 | 必須/任意 |
---|---|---|---|---|
MaxPoolSize | int | 10 | コネクションプールの最大値※1を指定します。 | ○ |
MinPoolSize | int | 10 | コネクションプールの最小値※1を指定します。 | ○ |
LogEnabled | boolean | true | 「true」を指定します。 | ○ |
User※2 | String | - | ユーザ名を指定します。 | ○ |
Password | String | - | パスワードを指定します。 | ○ |
ValidationType | int | 1 | 「1」を指定します。 | ○ |
RetryCount | int | 0 | コネクション取得リトライ回数を指定します。 データベースの設定やネットワーク環境に合わせて,障害発生時にデータベースの回復が有効になるような値を指定してください。 | △ |
RetryInterval | int | 10 | コネクション取得リトライ間隔を指定します。 データベースの設定やネットワーク環境に合わせて,障害発生時にデータベースの回復が有効になるような値を指定してください。 | △ |
RequestQueueEnable | boolean | true | 「true」を指定します。 | ○※3 |
RequestQueueTimeout | int | 30 | コネクション枯渇時のコネクション取得待ち行列のとどまることのできる最大値を指定します。※4 | ○※3 |
WatchEnabled | boolean | true | コネクションプール監視を有効にするかどうかを指定します。 | △ |
WatchInterval | int | 30 | コネクションプール監視間隔を指定します。 | △ |
WatchThreshold | int | 80 | コネクションプール使用状態を監視するしきい値を指定します。 | △ |
WatchWriteFileEnabled | boolean | true | 「true」を指定します。 | △ |