DBCP连接池配置详解

4 篇文章 0 订阅

Spring DBCP配置

<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> 
	
	<property name="driverClassName" value="com.mysql.jdbc.Driver"/>
	<property name="url" value="jdbc:mysql://192.168.0.109:3306/test?useUnicode=true&characterEncoding=UTF-8"/>
	<property name="username" value="root"/>
	<property name="password" value="root"/>
	
	<!--initialSize: 初始化连接--> 
	<property name="initialSize" value="5"/> 
	<!--maxIdle: 最大空闲连接--> 
	<property name="maxIdle" value="10"/> 
	<!--minIdle: 最小空闲连接--> 
	<property name="minIdle" value="5"/> 
	<!--maxActive: 最大连接数量--> 
	<property name="maxActive" value="15"/>
	
	<!--removeAbandoned: 是否自动回收超时连接--> 
	<property name="removeAbandoned" value="true"/> 
	<!--removeAbandonedTimeout: 超时时间(以秒数为单位)--> 
	<property name="removeAbandonedTimeout" value="180"/> 
	<!--maxWait: 超时等待时间以毫秒为单位 6000毫秒/1000等于60秒--> 
	<property name="maxWait" value="3000"/> 
	<!-- 在空闲连接回收器执行周期(毫秒) -->
	<property name="timeBetweenEvictionRunsMillis" value="10000"/>
	<!--  在每次空闲连接回收器线程(如果有)运行时检查的连接数量 -->
	<property name="numTestsPerEvictionRun" value="10"/>
	<!-- 最小空闲时间-->
	<property name="minEvictableIdleTimeMillis" value="10000"/>
	<!-- 验证链接是否有效的sql语句 -->
	<property name="validationQuery" value="select 1" />
	<!-- 获取链接之前是否测试链接的可用性 -->
	<property name="testOnBorrow" value="true"/> 
</bean> 


部分参数中文说明

 

 

 

参数

默认值

可选值

格式

说明

username  

 

 

 

用户名

password  

 

 

 

密码

url

 

 

 

数据库连接url

driverClassName 

 

 

 

驱动类

connectionProperties  

 

 

 [propertyName=property;]*

当建立新连接时被发送给JDBC驱动的连接参数

defaultAutoCommit

true

true、false

 

 

defaultReadOnly

driver default

driver default
true
false

 

默认只读状态,不指定则是驱动的默认值

defaultTransactionIsolation 

driver default

ONE
READ_COMMITTED
READ_UNCOMMITTED
REPEATABLE_READ
SERIALIZABLE

 

实物的隔离级别
ONE
不支持
READ_COMMITTED 读已提交
READ_UNCOMMITTED 读未提交
REPEATABLE_READ 可重复读
SERIALIZABLE 串行化

defaultCatalog

 

 

 

默认的database的名称,多数驱动已经在url中指定

initialSize

0

 

非负整数

初始化连接数

maxActive

8

 

整数

最大活跃连接数,负数则无限制

maxIdle

8

 

整数

最大空闲连接数,超出会释放连接

minIdle

0

 

整数

最小空闲数

maxWait

无限

 

整数

最大等待时间:当没有可用连接时,连接池等待连接
被归还的最大时间(以毫秒计数),-1代表无限

validationQuery

 

 

 

检查连接是否可用的查询语句

testOnCreate

false

true、false

 

连接被create时是否校验可用,
validationQuery必须给定合法值

testOnBorrow

true

true、false

 

连接被get时是否校验可用,
validationQuery必须给定合法值

testOnReturn

false

 

 

连接被归还到连接池中时是否校验可用
validationQuery
必须给定合法值

testWhileIdle

false

 

 

连接被空闲连接回收器检测回收时否校验可用
validationQuery
必须给定合法值

timeBetweenEvictionRunsMillis

-1

 

 

空闲连接回收器运行周期,毫秒,-1表示不运行

numTestsPerEvictionRun

3

 

 

在每次空闲连接回收器线程(如果有)
运行时检查的连接数量

minEvictableIdleTimeMillis

1000 * 60 * 30

 

 

最小空闲时间,毫秒

poolPreparedStatements

false

 

 

是否启池的prepared statement 池功能

maxOpenPreparedStatements

无限制

 

 

statement池能够同时分配的打开的
statements
的最大数量
(前提:poolPreparedStatements=true)

accessToUnderlyingConnectionAllowed

false

true、false

 

是否运行获取底层的Connection(驱动提供的连接)
获取方式:
Connection conn = ds.getConnection();
Connection dconn = ((DelegatingConnection) conn).getInnermostDelegate();

removeAbandoned

 

 

 

 

removeAbandonedTimeout

 

 

 

 

logAbandoned

 

 

 

 

 

 

 

 

 

 

  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值