接続プールについて

Business Components for Javaバージョン3.2から、接続プールがデフォルトの動作になりました。以前は各アプリケーション・モジュール・インスタンスに対して1つのJDBC接続を作成し、この接続をインスタンスの切断時に破棄していましたが、アプリケーション・モジュール・インスタンスで接続プールを再利用できるようになりました。

Business Components for Javaのこのリリースでは、アプリケーション・モジュール・プールと接続プールの両方に多くの新機能が追加され、どちらも新しい共通のクラス構造を使用して実装されています。

クライアントの応答時間の短縮

データベース接続の作成は時間のかかる処理で、データそのものの取得よりも時間がかかる場合があります。接続プールを使用すると、データベース接続を作成する必要がなくなり、クライアントの応答時間が短縮されます。接続を作成するかわりに、すでに存在するアプリケーション・モジュール・インスタンスの接続を再利用します。

接続URLごとに1つの接続プール

JDBC接続URLごとに1つの接続プールが用意されます。この中には、ユーザー名とパスワードが定義されています。接続URLのサンプルは次のとおりです。

jdbc:oracle:thin:scott/tiger@myhost:1521:ORCL

たとえば、3つの異なるデータベース(Oracle9i、Oracle Liteおよび外部データベース)を使用している場合、次の接続タイプには異なる接続プールが用意されます。

つまり接続プールは、多数のユーザーが同じユーザー名とパスワードを使用して1つのデータベースにログインする場合に特に役立ちます。

接続の作成、割当ておよび解放方法

Business Components for Javaフレームワークには、プールを管理するための接続プール・マネージャが用意されています。最上位レベルのアプリケーション・モジュール・インスタンスでデータベース接続が必要になると、次の順序でイベントが発生します。

  1. アプリケーション・モジュール・インスタンスが、JDBC接続URLの指定に従い、接続プール・マネージャに接続を要求します。

  2. 接続プール・マネージャは、プール内で使用できる接続を検索します。使用できる接続がない場合は、(決められた最大数を上限に)接続を作成します。接続を作成できない場合は、接続が使用できるようになるまで(タイムアウト値の範囲で)待機します。

  3. アプリケーション・モジュール・インスタンスが切断されると、接続がプールに戻ります。

ビジネス・ロジック層のJVMごとに、1つの接続プール・マネージャが用意されます。接続は、解放されるかJVMが停止するまでプールに保持されます。デフォルトの最大接続数は非常に大きな値で、基本的には、データベース・ドライバでサポートしている接続数になります。

その他のオプション

デフォルトの動作の他に、次のオプションがあります。


関連項目
接続プール