コネクションプーリングとは、データベースに接続する場合に、要求されるたびにコネクションを作成するのではなく、コネクションをプール(保持)して再利用する機能です。
このため、コネクションプーリングを使用することにより、同一ユーザのアプリケーションからデータベースへ接続する回数が軽減し、データベースへのコネクションを確立するアプリケーションの負荷も軽減されます。
コネクションプーリングを使用する場合、以下の2種類の方式から選択できます。
Interstage Application Server 9.0.0以降と連携する場合には、Interstage Application Serverでコネクションプーリングを行う方式を推奨します。
Interstage Application Serverでコネクションプーリングを行うことにより、Interstage Application Serverが提供している以下の機能が利用可能となります。
IJServerが提供する最大コネクション数、コネクションタイムアウトの指定
自動再接続機能
コネクションのモニタ情報表示
コネクションプール情報
物理コネクション数、空きコネクション数、使用中コネクション数
コネクション獲得待ち情報
コネクション待ち回数、コネクション待ち時間、コネクション待ちスレッド数、コネクション待ちタイムアウト回数
物理コネクション確立情報
物理コネクション確立回数、物理コネクション確立時間、アイドルタイムアウトによるクローズ回数、例外発生によるクローズ回数
また、Interstage Application Serverでコネクションプーリングを行う場合は、以下の手順が不要となります。
環境構築時
JDBCドライバのネーミングサービス起動
JDBCドライバのネーミングサービスにデータソース情報を登録
運用時
JDBCドライバのネーミングサービス起動
参照
Interstage Application Serverのコネクションプーリングの詳細については、“Interstage Application Server J2EE ユーザーズガイド”を参照してください。
Interstage Application ServerによるJDBCデータソース登録の詳細については、“Interstage 管理コンソールヘルプ”または“Interstage Application Server リファレンスマニュアル(コマンド編)”を参照してください。
注意
最大コネクション数で設定された値以上のコネクション要求が発生した場合、プールにコネクションが返却されるのを待ちます。
コネクションタイムアウト値を超えてもコネクションが返却されない場合、エラーを返却します。
コネクションタイムアウト値に0を指定した場合、JDBCドライバと同様に即座にエラーを返却します。
コネクションプーリングについて、以下に分類して説明します。
JDBCドライバの動作
データソースとプロセスの関係
JDBCドライバのコネクションプーリング時の動作について、以下に説明します。
初回接続時は、 コネクションプーリングを使用しない場合と同じように、データベースへ接続します。次回の接続要求をした場合でも、プールしているコネクションがすべて使用中の場合には、新規にデータベースへ接続します。
また、最大コネクション数で設定された値以上のコネクション要求が発生した場合、JDBCドライバがエラーを返却します。
複数のプロセスから同一データソースを使用する場合、データソースに登録したコネクション数(最大コネクション数、最大プールコネクション数)はJavaのプロセスごとに対応します。
データソース登録の詳細については、“5.2.3 JDBCデータソース登録ツール”を参照してください。
以下の例では、データソースに最大コネクション数を16、最大プールコネクション数を5として登録しています。この時、Javaアプリケーション1、Javaアプリケーション2それぞれ16まで接続が可能で、コネクションをそれぞれ5つプーリングします。