首页 > 其他 > 详细

数据连接池默认配置

时间:2019-06-12 19:07:11      阅读:114      评论:0      收藏:0      [点我收藏+]

1、问题

testOnBorrow=false导致获取连接cloes_wait 。

http://commons.apache.org/proper/commons-dbcp/configuration.html     官方dbcp配置 

org.apache.tomcat.jdbc.pool.DataSource   默认数据源

org.apache.tomcat.jdbc.pool.PoolConfiguration       数据源配置接口

org.apache.tomcat.jdbc.pool.DataSourceProxy 数据源配置代理

org.apache.tomcat.jdbc.pool.PoolProperties     默认配置属性

 2、配置项

validationQuery   SQL查询,用来验证从连接池取出的连接,在将连接返回给调用者之前.如果指定,则查询必须是一个SQL SELECT并且必须返回至少一行记录。

testOnBorrow  true  指明是否在从池中取出连接前进行检验,如果检验失败,

则从池中去除连接并尝试取出另一个。

注意: 设置为true后如果要生效,validationQuery参数必须设置为非空字符串

testWhileIdle  false  指明连接是否被空闲连接回收器(如果有)进行检验.如果检测失败,

则连接将被从池中去除。

注意: 设置为true后如果要生效,validationQuery参数必须设置为非空字符串

timeBetweenEvictionRunsMillis  -1  在空闲连接回收器线程运行期间休眠的时间值,以毫秒为单位. 如果设置为非正数,则不运行空闲连接回收器线程。

3、举例

SpringCloud服务为例:

spring.datasource.remove-abandoned=true  #是否自动回收超时连接
spring.datasource.remove-abandoned-timeout=120  #超时时间(以秒数为单位)
spring.datasource.test-on-borrow=true  #检测池里连接的可用性

spring.datasource.test-while-idle=true  #指明连接是否被空闲连接回收器进行检验.如果检测失败,则连接将被从池中去除.

spring.datasource.validation-query=SELECT 1;  #验证
spring.datasource.time-between-eviction-runs-millis=60000  #连接在池中保持空闲而不被空闲连接回收器线程回收的最小时间值,单位毫秒 

数据连接池默认配置

原文:https://www.cnblogs.com/wangymd/p/11011376.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!