Hitachi

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


18.8.6 DB Connectorのプロパティ定義

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

ここでは,次のDB Connectorについて,コンフィグレーションプロパティの設定例を示します。

〈この項の構成〉

(1) DBConnector_DABJ_CP.rarで,Oracle,HiRDB,またはXDM/RD E2を使用する場合の設定例

DBConnector_DABJ_CP.rarで,Oracle,HiRDB,またはXDM/RD E2を使用する場合の,コンフィグレーションプロパティの設定例を,次の表に示します。

表18‒68 データベースとしてOracle,HiRDB,またはXDM/RD E2を使用する場合のコンフィグレーションプロパティの設定例(DBConnector_DABJ_CP.rarの場合)

項目名

Oracleの場合の設定例

HiRDBの場合の設定例

XDM/RD E2の場合の設定例

networkProtocol

lib

lib

lib

databaseName

ORACLE8I※1

HIRDB

HIRDB

description

<ネット・サービス名>

<HiRDBポート番号>※2

<データベースコネクションサーバのサーバスケジュール番号>※2

DBHostName

<HiRDBホスト名>

<XDM/RD E2ホスト名>

loginTimeout

0

0

0

serverName

portNumber

40179

40179

40179

DBEnv

encodLang

JDBC_IF_TRC

false

false

false

SV_EVENT_TRC

false

false

false

TRC_NO

500

500

500

uapName

bufSize

64※3

64※3

64※3

rowSize

16

16

16

OSAuthorize

false

false

false

HiRDBCursorMode

false

false

false

blockUpdate

false

false

false

executeDirectMode

false

false

false

SQLWarningIgnore

false

false

false

LONGVARBINARY_Access

REAL

REAL

REAL

bufferPoolSize

0

0

0

PreparedStatementPoolSize

10

10

10※4

CallableStatementPoolSize

10

10

10※4

CancelStatement

true

true

false

ConnectionIDUpdate

false

false

false

logLevel

ERROR

ERROR

ERROR

(凡例) −:設定は不要

注※1 DABroker Libraryの環境設定で,使用するOracleのバージョンにOracle9iが設定されていれば,Oracle9iに接続できます。また,使用するOracleのバージョンにOracle10gが設定されていれば,Oracle10gに接続できます。

注※2 HiRDBクライアントの環境変数グループ名(Windowsの場合)または環境変数グループの設定ファイルのパス(UNIXの場合)を指定することもできます。

注※3 次のどちらかのタイミングで,「bufSizeに指定した値 × 生成したコネクション数分のメモリ」をJavaヒープ領域に確保します。

・コネクションプールのウォーミングアップ機能使用時

・初回getConnection()発行時

bufSizeに必要以上に大きな値を設定すると,メモリを確保したときにJavaヒープを使い切り,OutOfMemoryErrorが発生するおそれがあります。HiRDBのBLOB型データやBINARY型データへアクセスする場合は,bufSizeに大きな値を指定しないで,HiRDBの位置付け子機能を使用することを検討してください。HiRDBの位置付け子機能については,マニュアル「HiRDB 解説」を参照してください。

注※4 XDM/RD E2 11-02より前のバージョンに接続する場合は,0を設定してください。

(2) DBConnector_DABJ_XA.rarで,OracleまたはHiRDBを使用する場合の設定例

DBConnector_DABJ_XA.rarで,OracleまたはHiRDBを使用する場合の,コンフィグレーションプロパティの設定例を,次の表に示します。

表18‒69 データベースとしてOracleまたはHiRDBを使用する場合のコンフィグレーションプロパティの設定例(DBConnector_DABJ_XA.rarの場合)

項目名

Oracleの場合の設定例

HiRDBの場合の設定例

networkProtocol

lib

lib

databaseName

ORACLE8I※1

HIRDB

description

<ネット・サービス名>

<環境変数グループ識別子>※2

DBHostName

<HiRDBホスト名>

XAOpenString

Oracle_XA+DB=<ネット・サービス名>+SqlNet=<ネット・サービス名>+Acc=P/<DBのユーザ名※3>/<DBのパスワード※4>+SesTm※5=300+Threads=true

Windowsの場合

<環境変数グループ識別子※6>+<環境変数グループ名※7

UNIXの場合

<環境変数グループ識別子※6>+<環境変数グループの設定ファイルのパス※7

loginTimeout

0

0

serverName

portNumber

40179

40179

DBEnv

encodLang

JDBC_IF_TRC

false

false

SV_EVENT_TRC

false

false

TRC_NO

500

500

uapName

bufSize

64※8

64※8

rowSize

16

16

OSAuthorize

false

false

HiRDBCursorMode

false

false

blockUpdate

false

false

executeDirectMode

false

false

SQLWarningIgnore

false

false

LONGVARBINARY_Access

REAL

REAL

bufferPoolSize

0

0

XACloseString

RMID

1

1※9

XAThreadMode

true

true

XALocalCommitMode

true

true

PreparedStatementPoolSize

10

10

CallableStatementPoolSize

10

10

CancelStatement

true

false

ConnectionIDUpdate

false

false

logLevel

ERROR

ERROR

(凡例) −:設定は不要

注※1 DABroker Libraryの環境設定で,使用するOracleのバージョンにOracle9iが設定されていれば,Oracle9iに接続できます。また,使用するOracleのバージョンにOracle10gが設定されていれば,Oracle10gに接続できます。

注※2 J2EEサーバ内でユニークな4バイトの文字列を指定します。

注※3 [User]フィールドに入力した値を指定します。

注※4 [Password]フィールドに入力した値を指定します。

注※5 XA Open StringのSesTmに指定する値は,トランザクションタイムアウトの値よりも必ず大きく設定してください。

注※6 [Description]フィールドに入力した値を指定します。

注※7 HiRDBの環境変数グループ名(Windowsの場合)または環境変数グループの設定ファイルのパス(UNIXの場合)を指定します。詳細については,「18.3.3 データベースの設定」を参照してください。

注※8 次のどちらかのタイミングで,「bufSizeに指定した値 × 生成したコネクション数分のメモリ」をJavaヒープ領域に確保します。

・コネクションプールのウォーミングアップ機能使用時

・初回getConnection()発行時

bufSizeに必要以上に大きな値を設定すると,メモリを確保したときにJavaヒープを使い切り,OutOfMemoryErrorが発生するおそれがあります。HiRDBのBLOB型データやBINARY型データへアクセスする場合は,bufSizeに大きな値を指定しないで,HiRDBの位置付け子機能を使用することを検討してください。HiRDBの位置付け子機能については,マニュアル「HiRDB 解説」を参照してください。

注※9 リソースマネジャの識別子を指定します。J2EEサーバ内でユニークな1〜2147483647の数値で指定します。

(3) ステートメントプーリングの設定についての注意事項

DABroker Libraryを使用する場合にステートメントプーリングを設定するときの注意事項について説明します。なお,ステートメントプーリングの機能および設定については,マニュアル「アプリケーションサーバ 機能解説 基本・開発編(コンテナ共通機能)」の「3.14.4 ステートメントプーリング」および「3.14.10 実行環境での設定」を参照してください。

(a) PreparedStatement,CallableStatementのプールサイズの制限

DABroker Libraryを使用する場合,PreparedStatement,CallableStatementのプールサイズに制限があります。

  • PreparedStatementPoolSizeとCallableStatementPoolSizeの合計値は,DABrokerの最大ステートメント数以下に設定してください。

    合計値が最大ステートメント数を超えた場合には,PreparedStatementPoolSizeとCallableStatementPoolSizeにデフォルト値が使用されます。PreparedStatementPoolSize,CallableStatementPoolSizeは,リソース数が最大値を超えないように設定してください。一つのコネクションで利用できるリソース(Statement,PreparedStatement,CallableStatement,DatabaseMetaDataから取得したResultSet)の総数は,最大値が決められています。リソース数の最大値については,「18.12 Connectionクラス」を参照してください。

    最大値を超えた場合には,ユーザアプリケーションプログラムに例外が通知されます。例外が通知された場合,次のように対処してください。

    • 「PreparedStatementPoolSize」,「CallableStatementPoolSize」の値を小さくする。

    • ユーザアプリケーションプログラムで,リソースが不要になったらすぐに解放するようにする。

    指定できるプールサイズについては,「18.31.1 DB Connectorに設定する<config-property>タグに指定できるプロパティ」を参照してください。

(b) XDM/RD E2に接続する場合のバージョン

XDM/RD E2に接続するする場合は,XDM/RD E2 11-02以降のバージョンとDABroker Library 03-13以降を使用する場合にだけステートメントプーリング機能を使用できます。

(c) Oracleに接続する場合にステートメントプーリング機能とコネクションの障害検知機能を併用するとき

コネクションの障害検知に使用されるPreparedStatementがコネクションごとに一つプーリングされます。そのため,PreparedStatementPoolSize,CallableStatementPoolSizeを決定する際には,コネクションの障害検知用のPreparedStatementもリソース数の見積もりに加えて,CallableStatementPoolSizeを最大ステートメント数未満に設定してください。例えば,DABroker Libraryを使用している場合,PreparedStatementPoolSize=0,CallableStatementPoolSize=<最大ステートメント数>と設定して,プーリングされているCallableStatementの数が最大ステートメント数に達したとき,コネクションの障害検知が実行されると,DABroker Libraryの一つのコネクションで利用できるリソース数の最大値を超えるため,例外が発生します。例外が発生すると障害が発生したと判断されるので,そのコネクションはコネクションプールから削除され,同時にステートメントプールも破棄されます。つまり,ステートメントプーリング機能を使用する意味がなくなってしまいます。したがって,コネクションの障害検知機能を使用する場合には,CallableStatementPoolSizeを最大ステートメント数未満に設定してください。