ページの先頭行へ戻る
Interstage Application Server/Interstage Web Server Java EE運用ガイド

9.6.1 JDBC接続プールの定義項目

定義項目

項目名

省略値

範囲

説明

再起動要否

(※1)

接続プール名

  

  • 半角英数字、または特殊文字('-'、'_'、'.'、'/'、';')。

  • 先頭には、半角英数字または‘_’のみ指定可。

  • 1~255文字の文字列

JDBC接続プールの名前です。

データソースクラス名

  

文字列

データソースの実装クラスです。

リソースタイプ

  

  • javax.sql.DataSource

  • javax.sql.ConnectionPoolDataSource

  • javax.sql.XADataSource

データソースのインタフェース名です。指定しなかった場合には、javax.sql.DataSourceが指定された場合と同様の動作をします。

説明

  

文字列

JDBC接続プールの説明文です。

追加プロパティ

  

■プロパティ名:
半角英数字、マルチバイト文字、または特殊文字(‘-’、‘_’、‘.’、‘/’、‘;’、‘#’)。
先頭には、半角英数字もしくはマルチバイト文字を指定可。
■プロパティ値:
文字列

  


(プロパティ値)

プール内の接続数

初期および最小プールサイズ

8

0~2147483647(個)
(最大プールサイズ以下)

プール内の接続の最小数を指定します。この値は、プールを最初に作成する時のプールに含まれる接続数としても使用されます。

×

最大プールサイズ

32

1~2147483647(個)
(初期および最小プールサイズ以上、かつプールサイズ変更量以上)

プールに含まれる接続の最大数を指定します。プール数が最大プールサイズに達し、すべての接続が使用中の場合、接続要求はキューに格納されます。使用中の接続が解放されると、キューにたまった要求が取り出されて処理が実行されます。

×

プールサイズ変更量

2

1~2147483647(個)
(最大プールサイズ以下)

プールのサイズを最大プールサイズおよび最小プールサイズに対して拡大および縮小すると、一括処理でプールサイズが変更されます。
ただし、プールサイズ変更時には最大プールサイズまで拡大し、最小プールサイズまで縮小するように変更します。
この値は一括処理での接続の数を指定します。この値を過大に設定すると接続の作成と再利用が遅れ、過小に設定すると効率が落ちます。

×

アイドルタイムアウト

300

1~2147483647(秒)

プールで接続がアイドル状態のままでいられる最長時間(秒)を指定します。この時間を過ぎると、接続はプールから削除されます。


(※2)

最大待ち時間

60000

0~2147483647(ミリ秒)

接続を要求するアプリケーションが接続タイムアウトになるまでに待つ時間(ミリ秒)を指定します。0が指定された場合、接続タイムアウトは発生しません。

×

接続検証

接続検証

false

  • true

  • false

接続検証を有効にします。

×

検証方法

auto-commit

  • auto-commit

  • meta-data

  • table

接続を検証する方法を指定します。

  • auto-commit、meta-data
    アプリケーションサーバは、接続に対してgetAutoCommit()メソッドとgetMetaData()メソッドを呼び出して検証します。
    注) ただし、多くのJDBCドライバでは、これらの呼出しの結果をキャッシュしているので、常に信頼のある検証が行われるとは限りません。呼出しがキャッシュされるかどうかについて、ドライバベンダーに問い合わせる必要があります。
    また、リソースタイプにjavax.sql.XADataSourceを指定した場合には、本オプションにauto-commitは指定しないでください。javax.sql.XADataSourceを使用する場合、トランザクションマネージャがトランザクションを制御するため、auto-commitの要求が異常となる可能性があります。

  • table
    アプリケーションは指定したデータベース表に問い合わせます。表は実在し、アクセス可能である必要があります。データベース表への問い合わせ時には行数をカウントするSQLを発行するため、多くの行を持つ既存の表や、すでに頻繁にアクセスされている表を使用しないでください。

×

テーブル名

  

文字列

「検証方法」でtableを選択した場合は、ここでデータベースの表の名前を指定します。指定したテーブル名を指定して以下のようにSQL文を実行し、接続を検証します。

  • SELECT COUNT(*) FROM テーブル名

×

すべての障害で

false

  • true

  • false

この設定を有効にした場合、1つの接続障害を検出すると、アプリケーションサーバはプールに含まれるすべての接続を閉じ、初期および最小プールサイズで指定した数だけ接続を再確立します。この際、クローズされた接続は接続検証に失敗した接続としてみなされます。
無効の場合は、クライアントからの接続要求の契機でプールから取り出した接続に対して接続検証を行い、検証に失敗した接続のみを破棄します。

×

トランザクション管理

非トランザクション接続

false

  • true

  • false

トランザクション管理されていない接続を返します。

×

トランザクション開始後の接続のみ参加

false

  • true

  • false

本機能が有効なJDBCリソースの場合、JTAトランザクション開始後にオープンした接続だけトランザクションに参加します。

×

トランザクション遮断

JDBCドライバによって設定されるデフォルトの遮断レベル

  • read-uncommitted

  • read-committed

  • repeatable-read

  • serializable

プール内で生成された接続が、指定されたトランザクション遮断レベルに設定されます。

×

遮断レベル

true

  • true

  • false

アプリケーションに返却される接続が、常にトランザクション遮断で指定した遮断レベルに設定されることを保証します。

×

詳細属性

文のタイムアウト

-1

-1~2147483647

異常に長い時間実行されているクエリーを終了させるまでの時間(秒)を指定します。
アプリケーションサーバは、Statement、PreparedStatement、CallableStatementオブジェクトに対してsetQueryTimeout()メソッドを実行し、実行タイムアウト値を設定します。
アプリケーション側でも明示的にsetQueryTimeout()メソッドを発行した場合、以下の順番で設定が行われます。

  1. アプリケーションサーバが、文のタイムアウトに指定した時間でsetQueryTimeout()メソッドを発行します。

  2. アプリケーションからsetQueryTimeout()メソッドを発行します。

setQueryTimeout()メソッドの詳細は、java.sql.StatementインタフェースのJavaDOCやJDBCドライバのマニュアルを参照してください。
0以下の値を指定した場合は、この属性が無効(setQueryTimeout()メソッドを実行しない)であることを示します。

×

※1:IJServerクラスタの再起動が必要かどうかを示しています。
    ○:再起動必要、×:再起動不要

※2:アプリケーションからの初回アクセス時の設定値が有効になります。

関連情報

詳細な説明や関連記事については、以下を参照してください。

内容

参照先

機能説明

3.13 データベース連携/JDBC

チューニング方法

7.10 データベース連携環境のチューニング

コマンド

asadminコマンドの以下のサブコマンド
  11.1.4.1 getサブコマンド
  11.1.4.2 setサブコマンド
  11.1.4.3 listサブコマンド
  11.1.14.1 create-jdbc-connection-poolサブコマンド
  11.1.14.2 delete-jdbc-connection-poolサブコマンド
  11.1.14.3 list-jdbc-connection-poolsサブコマンド

asadminコマンドでの定義項目名

11.18.2.8 resources.jdbc-connection-poolの定義項目