web-dev-qa-db-ja.com

BasicDatasourceとPoolingDatasourceの違い

Org.Apache.commons.dbcp BasicDatasourceとPoolingDataSoureの違いは何ですか?どちらも接続のプーリングをサポートしていますか?それらのそれぞれをいつ使用するのですか?

32
sam

BasicDataSourceは、 javadoc が言うように、基本的なニーズのためのワンストップショッピングです。必要なものはすべて揃っています。内部的にPoolableDataSourceとObjectPoolを作成します。

PoolingDataSourceは、提供されたObjectPoolを使用してDataSourceインターフェースを実装します。 PoolingDatasourceは、接続に関係するすべての処理(キャスト、有効性の確認、プロパティの設定など)を処理し、ObjectPoolは、この任意のタイプのオブジェクトの保持とカウントを処理します。

したがって、BasicDataSourceを使用する必要があります。何か特別なものが必要な場合は、ObjectPoolの別の実装でPoolingDatasourceを使用できます。しかし、それはまれなケースだと思います。

41
helios