日期:2014-05-16  浏览次数:20599 次

Tomcat 7 的新JDBC连接池的使用说明

Tomcat 7 的JDBC连接池实现类为org.apache.tomcat.jdbc.pool,作为替换commons-dbcp的方案。

替换commons-dbcp的原因如下:

  1. commons-dbcp是单线程的,为了线程安全,就要琐住整个连接池,查询验证阶段也要琐住整个连接池。
  2. commons-dbcp速度慢,性能差,多CPU的环境下单线程运行,不支持高并发,在JAVA 6中也不能解决速度和并发的问题。
  3. commons-dbcp实现复杂,超过60个类。tomcat-jdbc-pool核心只有8个类,修改更加简单,只需运行连接池本身,易测试。
  4. commons-dbcp应用静态接口,就意味着并不能用JDK 1.6编译它,在JDK 1.6/1.7中运行时,即使驱动程序支持,所有没有实现的方法也都会抛出NoSuchMethodException异常。
  5. commons-dbcp几乎停滞,很少更新。
  6. 作为一个连接池的简单实现不值得重写超过60个类。
  7. Tomcat jdbc连接池实现了一个commons-dbcp没有的公平算法,并且比