发新话题
打印

几个主流的Java连接池

几个主流的Java连接池

要了解Java衔接池我们先要了解数据库衔接池(connection pool)的原理,Java衔接池正是数据库衔接池在Java上的使用。——我们知道,对于共享资源,有一个很著名的设计模式:资源池(Resource Pool)。该模式正是为了处理资源的频繁分配﹑释放所形成的成果。为处理上述成果,可以采用数据库衔接池技术。数据库衔接池的基本思想就是为数据库衔接建立一个“缓冲池”。事后在缓冲池中放入一定数量的衔接,当需求建立数据库衔接时,只需从“缓冲池”中取出一个,使用终了之后再放回去。我们可以通过设定衔接池最大衔接数来防止系统无尽的与数据库衔接。更为重要的是我们可以通过衔接池的管理机制监视数据库的衔接的数量﹑使用情况,为系统开发﹑测试及功能调整提供根据。
  C3P0是一个开放源代码的JDBC衔接池,它在lib目录中与Hibernate一起发布,包括了完成jdbc3和jdbc2扩展规范阐明的Connection 和Statement 池的DataSources 对象。(主页:sourceforge/projects/c3p0/)
  BoneCP 是一个开源的快速的 JDBC 衔接池。BoneCP很小#溃溃垃只要四十几K(运转时需求log4j和Google Collections的支持,这二者加起来就不小了),而相比之下 C3P0 要六百多K。另外个人觉得 BoneCP 有个缺陷是,JDBC驱动的加载是在衔接池之外的,这样在一些使用服务器的配置上就不够灵敏。当然,体积小并不是 BoneCP 优秀的原因,BoneCP 到底有什么突出的中央呢,请看看功能测试报告。(主页:jolbox/)
  DBCP (Database Connection Pool)是一个依赖Jakarta commons-pool对象池机制的数据库衔接池,Tomcat的数据源使用的就是DBCP。目前 DBCP 有两个版本辨别是 1.3 和 1.4。1.3 版本对应的是 JDK 1.4-1.5 和 JDBC 3,而1.4 版本对应 JDK 1.6 和 JDBC 4。因此在选择版本的时分要看看你用的是什么 JDK 版本了,莱俪迩功能上倒是没有什么区别。(主页:commons.apache/dbcp/)
  Proxool是一个Java SQL Driver驱动顺序,提供了对你选择的其它类型的驱动顺序的衔接池封装。可以非常复杂的移植到现存的代码中。完全可配置。快速,成熟,健壮。可以透明地为你现存的JDBC驱动顺序增加衔接池功能。(主页:proxool.sourceforge/)
TAG:
衔接池
jiyizhen-buy.com颈椎保健枕太空记忆枕 igerl.com歌瑞尔内衣

TOP

发新话题