JDBC 接続プールの編集

「JDBC 接続プールを編集」ページは、名前を除く既存プールのすべての設定を変更する手段を提供します。

「コネクタ接続プールを編集」ページにアクセスするには、次の手順に従います。

  1. ツリーコンポーネントで、「リソース」ノードを開きます。
  2. 「リソース」ノードで、「JDBC」ノードを開きます。
  3. 「JDBC」ノードで、「接続プール」ノードを開きます。
  4. 編集するプールのノードを選択します。
  5. 「コネクタ接続プールを編集」ページで、必要な変更を行います。
  6. 変更可能な設定の詳細については、次の各節を参照してください。

  7. 「保存」をクリックします。

一般設定

一般設定の値は、インストールした固有の JDBC ドライバにより異なります。これらの設定は、Java プログラミング言語で記述されたクラスやインタフェースの名前です。

表 24 JDBC 接続プールの一般設定

パラメータ

説明

データソースクラス名

DataSource API または XADataSource API あるいはその両方を実装するベンダー固有のクラス名。このクラスは JDBC ドライバにあります。

リソースタイプ

選択肢には javax.sql.DataSource (ローカルトランザクションに限る)、javax.sql.XADataSource (グローバルトランザクション)、および java.sql.ConnectinPoolDataSource (ローカルトランザクション、パフォーマンス向上の可能性あり) があります。

プール設定

一連の物理データベース接続はプール内にあります。アプリケーションが接続を要求すると、接続はプールから削除され、アプリケーションが接続を解放すると、接続はプールに返されます。

表 25 JDBC 接続プールのプール設定 

パラメータ

説明

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

プール内の接続の最小数。この値は、プールを最初に作成したり、アプリケーションサーバーを起動したりするときの、プールに含まれる接続の数も指定します。

最大プールサイズ

プールに含まれる接続の最大数。

プールサイズ変更量

プールのサイズが最小プールサイズに近づくと、プールサイズが一括処理で変更されます。この値は一括処理での接続の数を指定します。この値を過大に設定すると接続の再利用が遅れ、過小に設定すると効率が落ちます。

アイドルタイムアウト

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

最大待ち時間

接続タイムアウトになる前に接続を要求するアプリケーションが待つ時間。デフォルトの待ち時間は長いので、アプリケーションがハングアップしているように見える可能性があります。

接続検証

オプションで、アプリケーションサーバーは接続が渡される前にそれを検証することができます。この検証により、ネットワークやデータベースサーバーに障害が発生してデータベースが利用できなくなった場合でも、アプリケーションサーバーが自動的にデータベース接続を再確立できます。接続の検証は追加オーバーヘッドとなるため、パフォーマンスに若干の影響が生じます。

表 26 JDBC 接続プールの接続検証設定

パラメータ

説明

接続検証

必要なチェックボックスを選択して、接続検証を有効にします。

検証方法

アプリケーションサーバーは、auto-commit、metadata、および table の 3 つの方法でデータベース接続を検証できます。

auto-commit と meta-data アプリケーションサーバーは、con.getAutoCommit() と con.getMetaData() メソッドを呼び出して接続を検証します。ただし、多くの JDBC ドライバでは、これらの呼び出しの結果をキャッシュしているので、常に信頼のある検証が行われるとは限りません。呼び出しがキャッシュされるかどうかについて、ドライバベンダーに問い合わせる必要があります。

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

表名

「検証方法」コンボボックスで表を選択した場合は、ここでデータベース表の名前を指定します。

すべて障害で

「すべての接続を閉じる」のチェックボックスを選択してある場合、1 つの接続が失敗すると、アプリケーションサーバーはプールに含まれるすべての接続を閉じ、それらを再確立します。そのチェックボックスを選択していない場合は、使用されるときにだけ個々の接続が再確立されます。

トランザクション遮断

データベースは通常多くのユーザーが同時にアクセスするため、あるトランザクションがデータを読み込もうとするときに別のトランザクションが同じデータを更新する可能性があります。トランザクションの遮断レベルは、更新されるデータがほかのトランザクションに見える度合いを定義します。遮断レベルの詳細については、データベースベンダーのマニュアルを参照してください。

表 27 JDBC 接続プールのトランザクション遮断設定

パラメータ

説明

トランザクション遮断

プールの接続のトランザクション遮断レベルを選択できます。指定しない場合、接続は JDBC ドライバによって設定されるデフォルトの遮断レベルがプールに適用されます。

遮断レベルを保証

遮断レベルを指定した場合にだけ適用されます。「保証」チェックボックスを選択する場合は、プールから取得されるすべての接続が同じ遮断レベルを持ちます。たとえば、最後の使用時に con.setTransactionIsolation を使って接続の遮断レベルをプログラム的に変更した場合、このメカニズムによって状態が指定遮断レベルに戻されます。

プロパティ

「追加プロパティ」テーブルで、データベース名 (URL)、ユーザー名、およびパスワードなど、必要なプロパティを指定できます。データベースベンダーによってプロパティが異なるため、詳細については、ベンダーのマニュアルを調べてください。

接続プール設定の検証

接続プール設定を検証するには、次の手順に従います。

  1. データベースサーバーを起動します。
  2. 「Ping」をクリックします。
  3. 管理コンソールがデータベースに接続を試みます。エラーメッセージが表示される場合は、データベースサーバーが再起動しているかどうかを確認します。

関連項目


著作権表示