Druid配置参数详解-maxActive
2019-12-31 本文已影响0人
codeimport
Druid配置参数详解-maxActive
Druid是一个由阿里开源的数据库连接池,Druid的配置非常丰富,但是设置不当会对生产环境造成严重影响,网上Druid的资料虽多,但大部分都是互相复制粘贴,有很多不准确甚至完全错误的描述,Druid已经开源很久,而且作者WenShao的工作重心也已经不在Druid上,有些功能估计他自己都不太了解了。本系列将从源代码的角度分析Druid目前的最新版本(1.1.21)各个常用的配置项的具体含义以及是怎么起作用的。
画外音:目前Druid在开源中国举办的2019年度最受欢迎中国开源软件中排名第7名,支持Druid的朋友可以去投票哇。2019年度最受欢迎中国开源软件
maxActive是什么意思?
maxActive:连接池中的最大连接数,连接池中的连接包含3部分:
- activeCount:正在使用的连接;
- poolingCount:连接池中的空闲连接;
- createTaskCount:正在生成的连接;
这三部分的连接总和不能超过maxActive;
为什么要设置这个参数?
数据库的连接总数是有限制的,有时候僧多粥少,只能限制每个应用的连接数了。
maxActive是怎么起作用的?
maxActive在Druid中有多处使用,最主要的一处是在CreateConnectionTask中
// 防止创建超过maxActive数量的连接
if (activeCount + poolingCount >= maxActive) {
clearCreateTask(taskId);
return;
}