JDBC 接続プールの編集
「JDBC 接続プールを編集」ページは、名前を除く既存プールのすべての設定を変更する手段を提供します。
「コネクタ接続プールを編集」ページにアクセスするには、次の手順に従います。
- ツリーコンポーネントで、「リソース」ノードを開きます。
- 「リソース」ノードで、「JDBC」ノードを開きます。
- 「JDBC」ノードで、「接続プール」ノードを開きます。
- 編集するプールのノードを選択します。
- 「コネクタ接続プールを編集」ページで、必要な変更を行います。
変更可能な設定の詳細については、次の各節を参照してください。
- 「保存」をクリックします。
一般設定
一般設定の値は、インストールした固有の 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)、ユーザー名、およびパスワードなど、必要なプロパティを指定できます。データベースベンダーによってプロパティが異なるため、詳細については、ベンダーのマニュアルを調べてください。
接続プール設定の検証
接続プール設定を検証するには、次の手順に従います。
- データベースサーバーを起動します。
- 「Ping」をクリックします。
管理コンソールがデータベースに接続を試みます。エラーメッセージが表示される場合は、データベースサーバーが再起動しているかどうかを確認します。
関連項目
著作権表示