DBCP连接池配置详解
https://blog.csdn.net/yyyuuueeee/article/details/52268619
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 |
| 默认只读状态,不指定则是驱动的默认值 |
| defaultTransactionIsolation | driver default | ONE |
| 实物的隔离级别 |
| defaultCatalog |
|
|
| 默认的database的名称,多数驱动已经在url中指定 |
| initialSize | 0 |
| 非负整数 | 初始化连接数 |
| maxActive | 8 |
| 整数 | 最大活跃连接数,负数则无限制 |
| maxIdle | 8 |
| 整数 | 最大空闲连接数,超出会释放连接 |
| minIdle | 0 |
| 整数 | 最小空闲数 |
| maxWait | 无限 |
| 整数 | 最大等待时间:当没有可用连接时,连接池等待连接 |
| validationQuery |
|
|
| 检查连接是否可用的查询语句 |
| testOnCreate | false | true、false |
| 连接被create时是否校验可用, |
| testOnBorrow | true | true、false |
| 连接被get时是否校验可用, |
| testOnReturn | false |
|
| 连接被归还到连接池中时是否校验可用 |
| testWhileIdle | false |
|
| 连接被空闲连接回收器检测回收时否校验可用 |
| timeBetweenEvictionRunsMillis | -1 |
|
| 空闲连接回收器运行周期,毫秒,-1表示不运行 |
| numTestsPerEvictionRun | 3 |
|
| 在每次空闲连接回收器线程(如果有) |
| minEvictableIdleTimeMillis | 1000 * 60 * 30 |
|
| 最小空闲时间,毫秒 |
| poolPreparedStatements | false |
|
| 是否启池的prepared statement 池功能 |
| maxOpenPreparedStatements | 无限制 |
|
| statement池能够同时分配的打开的 |
| accessToUnderlyingConnectionAllowed | false | true、false |
| 是否运行获取底层的Connection(驱动提供的连接) |
| removeAbandoned |
|
|
|
|
| removeAbandonedTimeout |
|
|
|
|
| logAbandoned |
|
|
|
|
|
|
|
|
|
|
更多推荐



所有评论(0)