Apache Commons DBCP是个好东西,实现了DataSource接口,包括数据库连接池管理,好就好在它提供的功能仅此而已,不多不少足够使用。查了一下关于dbcp的配置:
#JDBC连接需要用到的四个基本参数(以Oracle为例)
- jdbc.driverClassName=oracle.jdbc.driver.OracleDriver
- jdbc.url=jdbc:oracle:thin:@127.0.0.1:1521:DBSERVER
- jdbc.username=user
- jdbc.password=pass
#初始化连接数量
dataSource.initialSize=10
#最大空闲连接数量
dataSource.maxIdle=20
#最小空闲连接数量
dataSource.minIdle=5
#最大连接数量
dataSource.maxActive=50
#是否在自动回收超时连接的时候打印连接的超时错误
dataSource.logAbandoned=true
#是否自动回收超时连接
dataSource.removeAbandoned=true
#超时时间(以秒数为单位)
#设置超时时间有一个要注意的地方,超时时间=现在的时间-程序中创建Connection的时间,如果maxActive比较大,比如超过100,那么removeAbandonedTimeout可以设置长一点比如180,也就是三分钟无响应的连接进行回收
dataSource.removeAbandonedTimeout=180
#超时等待时间以毫秒为单位
#maxWait代表当Connection用尽了,多久之后进行回收丢失连接
dataSource.maxWait=1000
在Spring中,这些配置都可以直接配置到一个Bean的参数里去,但是推荐写到一个properties文件里,这样替换起来比较方便。虽然都是不用改代码的效果,Spring提供了一个PropertyPlaceholderConfigurer