37

org.apache.commons.dbcp BasicDatasource 和 PoolingDataSoure 有什么区别?两者都支持连接池吗?何时使用它们中的每一个?

4

1 回答 1

48

正如javadoc所说, BasicDataSource是满足基本需求的一站式购物平台。它有所有必要的。它在内部创建一个 PoolableDataSource 和一个 ObjectPool。

PoolingDataSource使用提供的 ObjectPool 实现 DataSource 接口。PoolingDatasource 负责与连接有关的任何事情(强制转换、检查有效性、设置属性等),而 ObjectPool 负责保存和计算这个无论是什么类型的对象。

所以我应该使用 BasicDataSource。如果您需要一些特殊的东西,也许可以将 PoolingDatasource 与 ObjectPool 的另一个实现一起使用。但我认为这将是一个罕见的情况。

于 2011-09-21T08:08:45.737 回答