Hitachi

Cosminexus V11 アプリケーションサーバ 機能解説 拡張編


6.6.4 DB Connectorの設定

データベースセッションフェイルオーバ機能を使用する場合,アプリケーションで使用するものとは別に,DB Connectorを新規に作成します。DB Connectorは,J2EEサーバごとに一つ必要です。データベースセッションフェイルオーバ機能を使用するアプリケーションは,すべて同一のDB Connectorを使用します。

DB Connectorのインポートから開始までの手順については,マニュアル「アプリケーションサーバ アプリケーション設定操作ガイド」の「4.2 データベースと接続するための設定」を参照してください。

この節では,データベースセッションフェイルオーバ機能で使用するDB Connectorに必要な次の設定について説明します。

〈この項の構成〉

(1) トランザクションサポートのレベルの設定

データベースセッションフェイルオーバ機能ではトランザクションサポートのレベルを設定する必要があります。Connector属性ファイルの<hitachi-connector-property>-<resourceadapter>-<outbound-resourceadapter>タグ以下の<transaction-support>タグにNoTransactionを指定します。

(2) DB Connectorの別名の設定

データベースセッションフェイルオーバ機能ではDB Connectorに別名を設定する必要があります。デフォルトでは"COSMINEXUS_SFO_DBCONNECTOR"がDB Connectorに別名として設定されます。

設定する名称をデフォルトの名称から変更する場合,Connector属性ファイルの<hitachi-connector-property>-<resourceadapter>-<outbound-resourceadapter>-<connection-definition>-<connector-runtime>-<resource-external-property>タグ以下の<optional-name>タグに任意の名称を指定します。DB Connectorの別名の設定については,マニュアル「アプリケーションサーバ 機能解説 基本・開発編(コンテナ共通機能)」の「2.6 Enterprise BeanまたはJ2EEリソースへの別名付与(ユーザ指定名前空間機能)」を参照してください。

また,J2EEサーバに定義するDB Connectorの別名も同じ値に変更する必要があります。J2EEサーバのDB Connectorの別名の設定については「6.6.1 J2EEサーバの設定」を参照してください。

(3) DB Connectorの環境設定

データベースセッションフェイルオーバ機能は24時間連続稼働を実現するための機能です。連続稼働を実現するには,データベースに障害が発生した場合もシステムに影響を与えないために,コネクションの障害検知などの設定が必要です。障害回復に必要な時間を考慮して,値を設定してください。

コネクションの障害検知については,マニュアル「アプリケーションサーバ 機能解説 基本・開発編(コンテナ共通機能)」の「3.15.1 コネクションの障害検知」を参照してください。

DB Connectorに設定するプロパティおよび設定方法の詳細については,マニュアル「アプリケーションサーバ アプリケーション設定操作ガイド」の「4.2.2 DB Connectorのプロパティ定義」を参照してください。

DB Connectorに設定が必要なプロパティについて説明します。

(a) <config-property>タグで設定するプロパティ

<config-property>タグで設定するプロパティについて使用するデータベースごとに示します。なお,ここで示していないプロパティについては,データベースセッションフェイルオーバ機能に関する設定は不要です。

注意事項

データベースセッションフェイルオーバ機能を使用する場合,ステートメントプーリングを設定する必要があります。ステートメントプーリングは,J2EEサーバのメモリ使用量に大きく影響を与えます。そのため,コネクションプーリングの設定も考慮して,PreparedStatementPoolSizeプロパティの指定値を決定してください。

ステートメントプーリングについては,マニュアル「アプリケーションサーバ 機能解説 基本・開発編(コンテナ共通機能)」の「3.14.4 ステートメントプーリング」を参照してください。コネクションプーリングについては,マニュアル「アプリケーションサーバ 機能解説 基本・開発編(コンテナ共通機能)」の「3.14.1 コネクションプーリング」を参照してください。PreparedStatementPoolSizeプロパティに指定できる値については,マニュアル「アプリケーションサーバ リファレンス 定義編(アプリケーション/リソース定義)」の「4.1.10 DB Connectorに設定する<config-property>タグに指定できるプロパティ」を参照してください。なお,ステートメント一つ当たりの使用するメモリサイズについては,JDBC関連ドキュメントを参照してください。

●HiRDBを使用する場合に設定するプロパティ

HiRDBを使用する場合に設定するプロパティについて次の表に示します。

表6‒47 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が出力するログトレースのレベルについて,任意のレベルを指定します。

任意

(凡例)必須:必ず指定する 任意:必要に応じて設定する

注意事項

データベースセッションフェイルオーバ機能を使用する場合,クライアント環境定義で次の値を設定してください。

環境変数名

PDISLLVL

2

PDFORUPDATEEXLOCK

NO

PDDBLOG

ALL

●Oracleを使用する場合に設定するプロパティ

Oracleを使用する場合に設定するプロパティについて次の表に示します。

表6‒48 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の値を指定してください。

(b) <property>タグに指定するプロパティ

<property>タグで設定するプロパティについて次の表に示します。なお,ここで示していないプロパティについては,データベースセッションフェイルオーバ機能に関する設定は不要です。

表6‒49 <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」を指定します。

任意

(凡例) 必須:必ず指定する 任意:必要に応じて設定する −:なし

注※1

コネクションプールの値は,次の式で算出します。なお,コネクションプールの最大値と最小値は同じ値にしてください。

Webアプリケーション単位,またはURL単位の同時実行スレッド数を設定した場合

J2EEサーバ内のデータベースセッションフェイルオーバ機能を使用するWebアプリケーションの同時実行数の和+2

J2EEサーバ単位の同時実行スレッド数を設定した場合

J2EEサーバの同時実行スレッド数+2

コネクションプールの最大値を超えてJ2EEサーバがリクエストを受信すると,そのリクエストはコネクション枯渇時のコネクション取得待ち行列で待ち状態となります。

注※2

DB Connectorに設定するユーザには,テーブルの作成者を登録してください。

注※3

Webアプリケーション単位の同時実行スレッド数の制御機能が無効の場合,設定は不要です。

注※4

次に示す範囲で値を指定してください。

Webサーバ連携を使用している場合

1 < RequestQueueTimeout <リバースプロキシで設定するWebコンテナからのデータ受信のタイムアウト

リバースプロキシで設定するWebコンテナからのデータ受信のタイムアウトとは,ProxyPassディレクティブのtimeoutキーまたはTimeoutディレクティブに指定した値です。

Webサーバを経由しないでJ2EEサーバに直接リクエストを送受信する場合

1 < RequestQueueTimeout