clearpool

数据库连接池clearpool(java实现)详解

主宰稳场 提交于 2019-12-02 00:05:54
clearpool的maven项目托管在 https://github.com/xionghuiCoder/clearpool ,同时也可以在 http://www.oschina.net/p/clearpool 上了解它的简单介绍。 首先大家可能会问,现在开源社区已经有了很多数据库连接池:c3p0、proxool、dbcp、bonecp、druid和tomcat_jdbc等,我们还需要重新发明轮子么?是的,上面这些连接池都非常优秀,并且都有自己优点:比如高并发时druid和tomcat_jdbc近乎完美的性能,再比如proxool和druid的监控功能;然而它们并不是完美的,比如性能是否还能再提升、如何管理分布式数据库、如何支持分布式事务。好的,下面就来介绍下clearpool以及它是如何支持这些功能的。 1、如何使用clearpool clearpool提供的接口类为ClearPoolDataSource.java。 这里说下clearpool和其它数据库池的不同的地方: 1)它放弃了最小连接池数(min-pool-size),取而代之的是核心连接池数(core-pool-size),类似于java线程池ThreadPoolExecutor; 2)它不提供返回真实连接的方法,ClearPoolDataSource.java的getConnection(