2022-05-19 Druid源码阅读——Druid相关配置参数

Druid基本信息配置

配置缺省值说明
name如果存在多数据源的情况下用于区分数据源,如果没有配置将生成一个名字,格式为DataSource-" + System.identityHashCode(this)

数据库连接配置

配置缺省值说明
url数据库连接url
username连接数据库的用户名
password连接数据库的密码
driverClassName数据库驱动

连接池配置

配置缺省值说明
asyncInit是否开启异步初始化,开启后将在初始化时使用异步方式创建,此处需要注意的,加快的不是建立连接的速度,而是执行init()时的速度,所有连接将有连接创建线程/任务进行创建
initialSize初始化连接大小,默认将会建立此数量个连接
minIdle0连接池最小连接数
maxActive8连接池最大活跃数
notFullTimeoutRetryCount连接池未满时超时重试次数
timeBetweenEvictionRunsMillis60000该参数具有双重意义,当作为连接池配置参数时,为间隔多久执行一次连接回收
maxWaitThreadCount-1最多有多少个线程可以处于等待连接状态
maxWait-1获得连接时最大等待时间,单位ms
failFastfalse快速失败选项,开启后如果连续失败则在失误一次后不会再重试
phyTimeoutMillis-1物理连接最大持续时间,如果当前连接存在时间超过此值将被回收
phyMaxUseCount-1物理连接最大使用次数,超过该次数的连接将会被回收
minEvictableIdleTimeMillis1800000最小空闲时间,超过该时间的连接会被认为是空闲连接
maxEvictableIdleTimeMillis25200000最大空闲时间,超过此时间的连接将会被列入驱逐集合中
keepAlivefalse是否开启保活选项,开启后将保证连接池中连接不小于最小值
keepAliveBetweenTimeMillis1800000多久时间之内的连接保持存活
poolPreparedStatementsfalse是否打开PSCache参数
maxPoolPreparedStatementPerConnectionSize10PSCache数量,该值大于0会默认开启PSCache
initVariantsfalse是否开启初始化连接变量
initGlobalVariantsfalse是否开启初始化连接全局变量
useUnfairLockfalse是否使用非公平锁
killWhenSocketReadTimeoutfalseSocket超时直接杀死
connectProperties连接属性配置
initConnectionSqls初始化连接SQL
load.spifilter.skipfalse是否跳过SPI机制加载SQL
checkExecuteTimefalse检查执行时间参数

Filter配置

配置缺省值说明
filters所使用的Filter名,配置后将加载Filter
clearFiltersEnable是否开启清空Filters
stat.sql.MaxSize监控SQL最大大小,默认1000
stat.mergeSqlfalse是否合并SQL
stat.slowSqlMillis3000多长时间认为是慢SQL
stat.logSlowSqlfalse是否通过日志打印慢SQL
stat.slowSqlLogLevelERROR慢SQL的日志等级
wall.logViolationfalse是否记录异常SQL(认为是被攻击的)
wall.throwExceptiontrue异常SQL(认为是被攻击的)是否抛出异常
wall.tenantColumn待补全
wall.selelctAllowtrue待补全
wall.updateAllowtrue待补全
wall.deleteAllowtrue待补全
wall.insertAllowtrue待补全
wall.multiStatementAllowfalse待补全
wall.selectLimit-1待补全
wall.updateCheckColumns待补全
wall.updateWhereNoneCheckfalse待补全
wall.deleteWhereNoneCheckfalse待补全
log.conntrue是否log连接信息
log.stmttrue是否log语句对象
log.rstrue是否log返回对象
log.stmt.executableSqltrue是否log执行SQL
log.conn.logErrortrue是否log连接异常
log.stmt.logErrortrue是否log语句异常
log.rs.logErrortrue是否log返回异常

测试连接有效性

配置缺省值说明
testWhileIdletrue申请连接时执行validationQuery检测连接是否有效,做了这个配置会降低性能。
testOnBorrowfalse申请连接时执行validationQuery检测连接是否有效,做了这个配置会降低性能。
testOnReturnfalse申请连接的时候检测,如果空闲时间大于timeBetweenEvictionRunsMillis,执行validationQuery检测连接是否有效。
validationQuery用来检测连接是否有效的sql
validationQueryTimeout-1检测连接超时时间
timeBetweenEvictionRunsMillis60000该参数具有双重意义,在校验连接有效性时为连接空闲时间

监控配置

配置缺省值说明
useGlobalDataSourceStatfalse是否开启全局数据源统计,开启后统计结果将包含所有数据源
resetStatEnable是否开启重置数据源统计
timeBetweenLogStatsMillis数据源统计记录间隔时间,单位ms
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值