Hitachi

 Hitachi Application Server V10 定義リファレンスUNIX®用)


3.11.28 /resources/jdbc-connection-pool

JDBCコネクションプールに関する設定を定義します。

説明

JDBCコネクションプールに関する設定を定義します。

接続するデータベースに応じて指定するオプションについては、コマンドリファレンスcreate-jdbc-connection-poolを参照してください。

出現パターン

0回以上

指定できる属性

属性名

説明

指定できる値

デフォルト値

依存関係

出現パターン

name

コネクションプールの名称を指定します 。jdbc-resource要素のpool-name属性は、この名称を参照します。

型:String

1回

datasource-classname

JDBCドライバーのデータソースのクラス名を指定します。このクラスは、javax.sql.DataSource、javax.sql.XADataSource、javax.sql.ConnectionPoolDatasource、またはこれらを組み合わせて実装する必要があります。

型:String

0回、または1回

res-type

データソースクラスが実装するインターフェースを指定します。

java.sql.Driverを実装するJDBCドライバー、およびjava.sql.Driverを使用するアプリケーションの組み合わせで構成される場合、この属性にjava.sql.Driverを設定します。また、データソースクラスが2つ以上のインターフェースを実装する場合、またはdriver-classnameが指定された場合は、あいまいさを避けるために、この属性を指定する必要があります。この属性が正当な値を持っていて、データソースクラスが示されたインターフェースを実装していない場合、エラーが発生します。

型:String

{javax.sql.DataSource | javax.sql.XADataSource | javax.sql.ConnectionPoolDatasource | java.sql.Driver}

0回、または1回

driver-classname

データベース製品によって提供されるJDBCドライバーのドライバーのクラス名を指定します。このドライバーは、java.sql.Driverインターフェースを実装する必要があります。

型:String

java.sql.Driverインターフェースを実装するクラス(サブクラス)名

0回、または1回

ping

コネクションプール生成時にデータベースコネクションの確認を行うことで、誤りのある属性値を特定し警告するかどうかを指定します。

型:Boolean

{true | false}

false

0回、または1回

steady-pool-size

コネクションプールの最小コネクション数を指定します 。

型:Integer

0〜2147483647

24

0回、または1回

max-pool-size

コネクションプールの最大コネクション数を指定します 。

型:Integer

1〜2147483647

24

0回、または1回

max-wait-time-in-millis

コネクション取得を待つ時間(ミリ秒)を指定します。0の場合、リソースが使用できるようになるまで、またはエラーが発生するまで、呼び出し側は無期限にブロックされます。

型:Integer

0〜2147483647

60000

0回、または1回

pool-resize-quantity

コネクションプールで保持しているアイドル状態のコネクションを削除する数を指定します。

これは、idle-timeout-in-secondsの間隔で定期的に実行されます。アイドル状態のコネクションとは、idle-timeout-in-secondsの間使用されていないコネクションを指します。プールサイズがsteady-pool-sizeに達すると、コネクションの削除は停止します。

型:Integer

1〜2147483647

2

0回、または1回

idle-timeout-in-seconds

コネクションプール内でアイドル状態のコネクションを維持できる最長時間を秒単位で指定します。この時間が過ぎると、コネクションプールはこのコネクションを破棄します。

この属性で指定する時間は、データベースサーバのタイムアウト値よりも短くすることで、アプリケーション内で使用できないコネクションが保持されるのを防止する必要があります。

0を指定した場合、無効になります。

型:Integer

0〜2147483647

300

0回、または1回

transaction-isolation-level

プールされたデータベースコネクションのトランザクションアイソレーションレベルを指定します。

read-uncommitted

ダーティーリード、ノンリピータブルリード、およびファントムリードが発生する可能性があります。

read-committed

ダーティーリードは阻止されますが、ノンリピータブルリード、およびファントムリードは発生する可能性があります。

repeatable-read

ダーティーリード、およびノンリピータブルリードは阻止されますが、 ファントムリードが発生する可能性があります。

serializable

ダーティーリード、ノンリピータブルリード、およびファントムリードが阻止されます。

型:String

{read-uncommitted | read-committed | repeatable-read | serializable}

JDBCドライバーでのデフォルトのアイソレーションレベル

0回、または1回

is-isolation-level-guaranteed

transaction-isolation-levelが明示的に設定された場合にだけ有効になります。trueの場合、プールから取得したコネクションはすべて、任意のアイソレーションレベルを持つことが保障されます。これによって、性能に影響を受けるおそれのあるJDBCドライバーが幾つかあります。ホスト型アプリケーションが、アイソレーションレベルが変更されたコネクションを戻さないと確信する場合にだけ、この属性をfalseに設定します。

型:Boolean

{true | false}

true

0回、または1回

is-connection-validation-required

アプリケーションでコネクションを取得する前に、コネクション障害検知を実施するかどうかを指定します。障害検知でコネクションに問題がある場合、コネクションは破棄され、再生成されます。

型:Boolean

{true | false}

false

0回、または1回

connection-validation-method

コネクション障害検知の方法を指定します。

auto-commit

Connection#setAutoCommit(Connection#getAutoCommit())を実行します。

meta-data

Connection#getMetaData()を実行します。

table

validation-table-nameで指定したテーブルに対して、SELECT文を実行します。

custom-validation

validation-classnameで指定したユーザー定義のクラスを使用します。

型:String

{auto-commit | meta-data | table | custom-validation}

table

0回、または1回

validation-table-name

使用する検証テーブルの名称を指定し、SELECT文を実行してコネクションを検証します。

型:String

0回、または1回

validation-classname

カスタムの検証を提供するクラスを指定します。このパラメーターは、connection-validation-methodcustom-validationが設定されている場合、必須です。Java EE Serverにアクセスできるクラス名を指定する必要があります。

型:String

org.glassfish.api.jdbc.ConnectionValidationインターフェースを実装するクラス(サブクラス)名

0回、または1回

non-transactional-connections

trueに設定すると、JDBCコネクションプールに作成される非トランザクションコネクションを許可します。これらのコネクションは、トランザクションマネージャーとのトランザクションに自動的には参加しません。

型:Boolean

{true | false}

false

0回、または1回

validate-atmost-once-period-in-seconds

コネクション障害検知をする間隔を秒単位で指定します。コネクション障害検知の実施回数を最小限にします。値「0」は、Java EE Serverが接続によるコネクション障害検知の実施回数を最小に抑えようとしないことを示します。すなわち、値「0」はこの属性を無効にします。

型:Integer

0〜2147483647

0

0回、または1回

connection-leak-timeout-in-seconds

アプリケーションによる潜在的なコネクションリークを検出します。指定した期間内にアプリケーションがプールに戻さないコネクションは、潜在的なリークと判断され、スタックトレースがログに記録されます。値「0」は、リーク検出を無効にします。0以外の値は、リーク追跡を有効にします。この属性は、アプリケーションからの潜在的なコネクションリークを回避するためにconnection-leak-reclaimと共に使用します。

型:Integer

0〜2147483647

0

0回、または1回

connection-leak-reclaim

trueに設定すると、connection-leak-timeout-in-secondsの発生後に、コネクションを再要求します。

型:Boolean

{true | false}

false

0回、または1回

connection-creation-retry-attempts

新しいコネクションの作成に失敗した場合に行われる試行の回数を指定します。

型:Integer

0〜2147483647

0

0回、または1回

connection-creation-retry-interval-in-seconds

connection-creation-retry-attemptsの値が0より大きい場合に、コネクションの作成を試行する間隔を秒単位で指定します。

型:Integer

0〜2147483647

10

0回、または1回

statement-timeout-in-seconds

ステートメントのクエリータイムアウトプロパティーを設定して、異常に長い時間実行されているクエリーを終了させる機能を有効にします。-1を指定するとこの機能は無効になります。アプリケーションが実行したJDBCクエリーが異常に長い時間実行されている場合、タイムアウトをステートメントに明示的に設定しないかぎり、JDBCクエリーは応答なし状態のままになるおそれがあります。この属性は、すべてのクエリーが指定した時間内に完了しない場合、自動的にタイムアウトすることを保証します。ステートメントが作成されると、この属性の指定値に従いqueryTimeoutが設定されます。これは、基本的なJDBCドライバーがStatement、PreparedStatement、CallableStatement、およびResultSetのqueryTimeoutをサポートする場合にだけ機能します。

型:Integer

-1〜2147483647

-1

0回、または1回

lazy-connection-enlistment

trueに設定すると、コネクションは、実際に利用されるまでトランザクションに参加しません。falseに設定すると、コネクションが取得された時点で、トランザクションに参加します。

型:Boolean

{true | false}

false

0回、または1回

lazy-connection-association

trueに設定すると、物理コネクションは、使用されるまで論理コネクションに関連づけられません。falseに設定すると、物理コネクションは、使用される前でも論理コネクションに関連づけられます。

型:Boolean

{true | false}

false

0回、または1回

match-connections

プールから取得したコネクションが、特定の資格を持つかコネクションマッチングを行います。trueに設定すると、コネクションマッチングを有効にします。コネクションが同じ種類の場合、falseに設定できます。複数のユーザークレデンシャルを持つアプリケーションがコネクションプールを使用する場合、match-connectionstrueに設定する必要があります。

コネクションプールはリクエストの資格とプール内のコネクションを照合し、一致したコネクションを戻します。新規のリクエストが異なる資格を持つ場合、一致しない未使用のコネクションを自動的に破棄し、新しいコネクションを提供して新規のリクエストを満たします。

この属性は、アプリケーションが1つの資格だけしか使用せず、プールが同じ種類のコネクションを持っているとわかっている場合、trueにする必要はありません。

型:Boolean

{true | false}

false

0回、または1回

max-connection-usage-count

コネクションがプールに再利用される回数を指定します。指定した回数だけ再利用されると、コネクションはクローズされます。値「0」は、この機能を無効にします。コネクションを再利用できる最大回数を制限することで、アプリケーションがステートメントを閉じない場合にステートメントリークを回避できます。

型:Integer

0〜2147483647

0

0回、または1回

statement-cache-size

LRUキャッシュ方式を使用してキャッシュするステートメント数を指定します。値「0」はステートメントのキャッシュを無効にします。

型:Integer

0〜2147483647

0

0回、または1回

pooling

コネクションをプールするかどうかを指定します。

型:Boolean

{true | false}

true

0回、または1回

(凡例)

−:該当しません。

注※

定義項目の省略時のデフォルト値です。