Tomcat 7新的连接池-tomcat jdbc pool
Tomcat 在 7.0 以前的版本都是使用 commons-dbcp 做为连接池的实现,但是 dbcp 有缺陷,原因有:
- dbcp 是单线程的,为了保证线程安全会锁整个连接池(关键)
- dbcp 性能不佳
- dbcp 太复杂,超过 60 个类
- dbcp 使用静态接口,在 JDK 1.6 编译有问题
- dbcp 发展滞后
因此很多人会选择一些第三方的连接池组件,例如 c3p0 , bonecp, druid (@wenshao ) 等。
为此,Tomcat 从 7.0 开始引入一个新的模块:Tomcat jdbc pool
- tomcat jdbc pool 近乎兼容 dbcp ,性能更高
- 异步方式获取连接
- tomcat jdbc pool 是 tomcat 的一个模块,基于 tomcat JULI,使用 Tomcat 的日志框架
- 使用 javax.sql.PooledConnection 接口获取连接
- 支持高并发应用环境
- 超简单,核心文件只有8个
- 更好的空闲连接处理机制
- 支持 JMX
- 支持 XA Connection