DruidDataSource连接池配置

Posted 走过雨天

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了DruidDataSource连接池配置相关的知识,希望对你有一定的参考价值。

数据源连接池配置

 

<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close">
<property name="driverClassName" value="${jdbc.driverClassName}" />
<property name="url" value="${jdbc.url}" />
<property name="username" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />
<property name="filters" value="stat" />
连接池的最大数据库连接数。设为0表示无限制。一般把maxActive设置成可能的并发量就行了
<property name="maxActive" value="1000" />
初始化大小
<property name="initialSize" value="10" />
最大等待毫秒数, 单位为 ms, 如果超过此时间将接到异常,设为-1表示无限制
<property name="maxWait" value="60000" />
最大等待(空闲)连接中的数量,设 0 为没有限制
<property name="maxIdle" value="100" />
最小等待(空闲)连接中的数量
<property name="minIdle" value="10" />
在空闲连接回收器线程运行期间休眠的时间值,以毫秒为单位. 如果设置为非正数,则不运行空闲连接回收器线程
<property name="timeBetweenEvictionRunsMillis" value="60000" />
连接池中保持空闲而不被空闲连接回收器线程 ,回收的最小时间值,单位毫秒
<property name="minEvictableIdleTimeMillis" value="300000" />
SQL查询,用来验证从连接池取出的连接,在将连接返回给调用者之前.如果指定, 则查询必须是一个SQL SELECT并且必须返回至少一行记录
<property name="validationQuery" value="SELECT \'x\'" />
指明连接是否被空闲连接回收器(如果有)进行检验.如果检测失败, 则连接将被从池中去除.
注意: 设置为true后如果要生效,validationQuery参数必须设置为非空字符串
<property name="testWhileIdle" value="true" />
指明是否在从池中取出连接前进行检验,如果检验失败 则从池中去除连接并尝试取出另一个. 注意: 设置为true后如果要生效,validationQuery参数必须设置为非空字符串
<property name="testOnBorrow" value="false" />
指明是否在归还到池中前进行检验
<property name="testOnReturn" value="false" />
开启池的prepared statement 池功能
<property name="poolPreparedStatements" value="true" />
<property name="maxPoolPreparedStatementPerConnectionSize" value="50" />
</bean>

 

以上是关于DruidDataSource连接池配置的主要内容,如果未能解决你的问题,请参考以下文章

Druid连接池源码解析(1)DruidDataSource

Druid核心源码解析--DruidDataSource

Druid核心源码解析--DruidDataSource

Druid核心源码解析--DruidDataSource

ssm 数据库连接池配置

springboot集成druid连接池不支持批量更新