Springboot2.0之HikariCP 连接池

springboot的HikariDataSource默认配置的默认值如下

name构造器默认值默认配置validate之后的值validate重置
minIdle -1 10 minIdle<0或者minIdle>maxPoolSize,则被重置为maxPoolSize
maxPoolSize -1 10 如果maxPoolSize小于1,则会被重置。当minIdle<=0被重置为DEFAULT_POOL_SIZE则为10;如果minIdle>0则重置为minIdle的值
maxLifetime MINUTES.toMillis(30) = 1800000 1800000 如果不等于0且小于30秒则会被重置回30分钟
connectionTimeout SECONDS.toMillis(30) = 30000 30000 如果小于250毫秒,则被重置回30秒
validationTimeout SECONDS.toMillis(5) = 5000 5000 如果小于250毫秒,则会被重置回5秒
loginTimeout 10 30 Math.max(1, (int) MILLISECONDS.toSeconds(500L + connectionTimeout)),为connectionTimeout+500ms转为秒数取整 与 1 取最大者
idleTimeout MINUTES.toMillis(10) = 600000 600000 如果idleTimeout+1秒>maxLifetime 且 maxLifetime>0,则会被重置为0;如果idleTimeout!=0且小于10秒,则会被重置为10秒
leakDetectionThreshold 0 0 如果大于0且不是单元测试,则进一步判断:(leakDetectionThreshold < SECONDS.toMillis(2) or (leakDetectionThreshold > maxLifetime && maxLifetime > 0),会被重置为0 . 即如果要生效则必须>0,而且不能小于2秒,而且当maxLifetime > 0时不能大于maxLifetime
initializationFailTimeout 1 1 -
isAutoCommit true true -
isReadOnly false fasle -
isAllowPoolSuspension false false -
isIsolateInternalQueries false false -
isRegisterMbeans false false -
sealed false true 运行启动后这个标志为true,表示不再运行修改
poolName null HikariPool-1 -
catalog null null -
connectionInitSql null null -
connectionTestQuery null null -
dataSourceClassName null null -
schema null null -
transactionIsolationName null null -
dataSource null null -
dataSourceProperties {} {} -
threadFactory null null -
scheduledExecutor null null -
metricsTrackerFactory null null -
metricRegistry null null -
healthCheckRegistry null null -
healthCheckProperties {} {} -

连接hikari数据源

spring.datasource.type=com.zaxxer.hikari.HikariDataSource


数据库连接地址
spring.datasource.hikari.jdbc-url=


数据库账户,如果使用了jdbcUrl则需要此属性
spring.datasource.hikari.username=


数据库密码,如果使用了jdbcUrl则需要此属性
spring.datasource.hikari.password=


是否自动提交事务
spring.datasource.hikari.auto-commit=


连接超时时间(毫秒),如果在没有连接可用的情况下等待超过此时间,则抛出 SQLException 默认30000(30秒)
spring.datasource.hikari.connection-timeout=


空闲超时时间(毫秒),只有在minimumIdle<maximumPoolSize时生效,超时的连接可能被回收,数值 0 表示空闲连接永不从池中删除 默认600000(10分钟)
spring.datasource.hikari.idle-timeout=


连接池中的连接的最长生命周期(毫秒)。数值 0 表示不限制 默认1800000(30分钟)
spring.datasource.hikari.max-lifetime=


连接池每分配一条连接前执行的查询语句(如:SELECT 1),以验证该连接是否是有效的
。如果你的驱动程序支持 JDBC4,HikariCP 强烈建议我们不要设置此属性
spring.datasource.hikari.connection-test-query=SELECT 1


最小空闲连接数,HikariCP 建议我们不要设置此值,而是充当固定大小的连接池 默认与maximumPoolSize数值相同
spring.datasource.hikari.minimum-idle=


连接池中可同时连接的最大连接数,当池中没有空闲连接可用时,就会阻塞直到超出connectionTimeout设定的数值 默认10
spring.datasource.hikari.maximum-pool-size=


连接池名称,主要用于显示在日志记录和 JMX 管理控制台中
spring.datasource.hikari.pool-name=HeartHikariCP


是否标记数据源只读 true 或者 false
spring.datasource.hikari.read-only=


使用HikariCP时,是否允许连接池暂停,默认为: false
spring.datasource.hikari.allow-pool-suspension=


是否自定义配置,为true时下面两个参数才生效
spring.datasource.hikari.data-source-properties.cachePrepStmts=true


连接池大小默认25,官方推荐250-500
spring.datasource.hikari.data-source-properties.prepStmtCacheSize=


单条语句最大长度默认256,官方推荐2048
spring.datasource.hikari.data-source-properties.prepStmtCacheSqlLimit=


新版本MySQL支持服务器端准备,开启能够得到显著性能提升 true 或者 false
spring.datasource.hikari.data-source-properties.useServerPrepStmts=


使用Hikari connection pool 时,在心跳检查时传递的属性
spring.datasource.hikari.health-check-properties.[key]


使用Hikari connection pool时,多少毫秒检测一次连接泄露.
spring.datasource.hikari.leak-detection-threshold=

技术小白,努力学习。
原文地址:https://www.cnblogs.com/mei0619/p/12512117.html