Hikari 数据源参数配置描述

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

指定数据库驱动名称,不支持XA data。如果使用jdbcUrl配置则不需要配置该值。默认值:none。

参考 https://github.com/brettwooldridge/HikariCP#popular-datasource-class-names

spring.datasource.hikari.dataSourceClassName=
spring.datasource.url=jdbc: mysql://127.0.0.1:3306/test?characterEncoding=UTF8&useSSL=false
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.hikari.autoCommit=true

连接建立超时时间 单位ms 默认30000

spring.datasource.hikari.connectionTimeout=30000

空闲连接超时时间 单位ms 最小10000(10s) 默认600000(10min)

当minimumIdle小于maximumPoolSize时有效

0 空闲连接永远不会被移除

spring.datasource.hikari.idleTimeout=30000

最小空闲连接数,默认值maximumPoolSize。当空闲连接低于该值且总连接数低于maximumPoolSize时,HikariCP会立即添加连接来保证一个高效的性能

但是,HikariCP 不建议配置该值,建议使用默认值,让HikariCP维护一个固定连接数的连接池来保持高效。

spring.datasource.hikari.minimumIdle=

最大连接数(包含空闲和正在使用的连接),默认值10.当连接数达到该值时,新的连接申请会被阻塞直到超时。

spring.datasource.hikari.maximumPoolSize=10

一个连接在连接池中的最长存活时间,正在被使用的链接如果超时会等到关闭后被移除

最小30000ms (30 seconds). Default: 1800000 (30 minutes)

0 连接永不超时

spring.datasource.hikari.maxLifetime=1800000

连接测试查询语句,如果驱动支持JDBC4,强烈建议不配置该属性

尝试不配置该属性来运行连接池,如果驱动不支持JDBC4,HikariCP会打出一个错误日志通知你。默认值:none

spring.datasource.hikari.connectionTestQuery=

指标记录,默认:none。这个属性只适用于程序配置或ioc容器,允许你指定一个Codahale/Dropwizard MetricRegistry来记录指标。

参考: https://github.com/brettwooldridge/HikariCP/wiki/Dropwizard-Metrics

spring.datasource.hikari.metricRegistry=

健康检查,默认:none。允许你指定一个Codahale/Dropwizard HealthCheckRegistry来报告当前健康信息。

参考 https://github.com/brettwooldridge/HikariCP/wiki/Dropwizard-HealthChecks

spring.datasource.hikari.healthCheckRegistry=

连接池名称。Default: auto-generated

spring.datasource.hikari.poolName=hikariPool

##########################HikariCP不常用的配置#####################
spring.datasource.hikari.initializationFailTimeout=1

是否在其自己的事务中隔离内部池查询

由于这些查询通常是只读查询,所以很少需要将它们封装在自己的事务中。

此属性仅适用于禁用autoCommit的情况。默认值:false

spring.datasource.hikari.isolateInternalQueries=false

连接池是否可以被JMX挂起和恢复。在挂起状态下,获取连接将不会超时,会被阻塞直到连接池恢复。,默认false。

spring.datasource.hikari.allowPoolSuspension=false

指定从连接池获取到的连接在默认情况下是否是只读模式的。这个取决于数据库和应用,默认false。

spring.datasource.hikari.readOnly=false

是否注册Mbeans,默认false。

spring.datasource.hikari.registerMbeans=false

连接初始化sql。当一个连接被创建后,在放入连接池之前,执行这条语句来确认是否是有效连接。默认值none。

spring.datasource.hikari.connectionInitSql=

支配驱动类名称,一般不需要配置,hikari会根绝jdbcUrl来解析使用响应的驱动,如果找不到会打印错误日志来通知你。

spring.datasource.hikari.driverClassName=com.mysql.jdbc.Driver

指定从连接池获取到的连接的默认事务隔离级别。枚举值来自Connection class的常量。例如TRANSACTION_READ_COMMITTED, TRANSACTION_REPEATABLE_READ等。

默认情况下是数据库的默认隔离级别。

spring.datasource.hikari.transactionIsolation=

连接测试超时时间。最小值250ms,不能超过connectionTimeout。默认值5000

spring.datasource.hikari.validationTimeout=5000

连接离开连接池后一定时间,会通过日志记录可能存在连接泄漏。该属性配置的是这个时间。

0 表示不启用连接泄漏检测。最小值是2000 单位ms。默认值0。

spring.datasource.hikari.leakDetectionThreshold=0

指定数据源。你可以自己封装数据源,不用通过hikari来反射生成。

配置了该属性后,dataSourceClassName和所有DataSource-specific的属性都会被忽略。

spring.datasource.hikari.dataSource=

指定hikari连接池创建线程的线程工厂。默认值none。ThreadFactory 实例

spring.datasource.hikari.threadFactory=

提供ScheduledExecutorService 实例。HikariCP在setRemoveOnCancelPolicy(true)时会使用。默认值none。