当前位置:   article > 正文

HikariCP--基础--02--配置参数_hikariconfig配置

hikariconfig配置

HikariCP–基础–02–配置参数


1、config参数

1.1、autoCommit

  1. 从池中借出的连接是否默认自动提交事务
  2. 默认:true

1.2、connectionTimeout

  1. 当我从池中借出连接时,愿意等待多长时间。如果超时,将抛出 SQLException
  2. 默认:30000
  3. 最小值 250 ms。
  4. 支持 JMX 动态修改
  5. 如果小于250毫秒,则被重置回30秒

1.3、idleTimeout

  1. 一个连接在池里闲置多久时会被抛弃
  2. 当 minimumIdle < maximumPoolSize 才生效
  3. 默认:600000
  4. 最小值:10000 ms
    1. 如果idleTimeout!=0且小于10秒,则会被重置为10秒
  5. 0表示禁用该功能。
    1. 如果idleTimeout+1秒>maxLifetime 且 maxLifetime>0,则会被重置为0(代表永远不会退出);
  6. 支持 JMX 动态修改

1.4、maxLifetime

  1. 池中连接最长生命周期,当一个连接存活了足够久,HikariCP 将会在它空闲时把它抛弃
  2. 默认:1800000 ms
  3. 最小值:30000 ms
    1. 如果maxLifetime不等于0且小于30秒则会被重置回30秒
  4. 0 表示禁用该功能。
  5. 支持 JMX 动态修改

1.5、connectionTestQuery

  1. 用来检查连接活性的 sql,要求是一个查询语句,常用select ‘x’
  2. 如果驱动支持 JDBC4.0,建议不设置,这时默认会调用 Connection.isValid() 来检查,该方式会更高效一些
  3. 默认:null

1.6、minimumIdle

  1. 池中维护的最小空闲连接数,池中至少要有多少空闲连接
  2. 默认:等于maximumPoolSize
    1. minIdle<0或者minIdle>maxPoolSize,则被重置为maxPoolSize
  3. 当空闲连接 < minimumIdle,总连接 < maximumPoolSize 时,将新增连接
  4. 支持 JMX 动态修改

1.7、maximumPoolSize

  1. 池中最多容纳多少连接包括空闲的和在用的
  2. 默认:10
  3. 支持 JMX 动态修改

1.8、metricRegistry

  1. 用于记录连接池各项指标的 MetricRegistry 实现
  2. 默认:null,只能通过代码设置

1.9、healthCheckRegistry

  1. 用于报告连接池健康状态的 HealthCheckRegistry 实现类
  2. 默认:null,只能通过代码设置

1.10、poolName

  1. 连接池名称。
  2. 主要用于在日志记录和JMX管理控制台中以识别池和池配置
  3. 默认:HikariPool-1

1.11、initializationFailTimeout

  1. 如果启动连接池时不能成功初始化连接,是否快速失败 TODO
  2. 值>0:会尝试获取连接。如果获取时间超过指定时长,不会开启连接池,并抛出异常
  3. 值=0:会尝试获取并验证连接。如果获取成功但验证失败则不开启池,但是如果获取失败还是会开启池
  4. 值<0:不管是否获取或校验成功都会开启池
  5. 值默认:1

1.12、isolateInternalQueries

  1. 是否在事务中隔离 HikariCP 自己的查询,例如连接活动测试
  2. autoCommit 为 false 时才生效
  3. 默认:false

1.13、allowPoolSuspension

  1. 是否允许通过 JMX 挂起和恢复连接池
  2. 默认:false

1.14、readOnly

  1. 当连接从池中取出时是否设置为只读
  2. 默认:false

1.15、registerMbeans

  1. 是否开启 JMX管理Bean(MBeans)
  2. 默认:false

1.16、catalog

  1. 数据库 catalog,默认由驱动决定
  2. 默认:false

1.17、connectionInitSql

  1. 该属性设置一个SQL语句,在每个连接创建后、放入池前,需要执行的该SQL语句,如果执行失败,该连接会被丢弃
  2. 默认:null

1.18、driverClassName HikariCP

  1. 将尝试通过仅基于jdbcUrl的DriverManager解析驱动程序,但对于一些较旧的驱动程序,还必须指定driverClassName。
  2. 默认:null

1.19、transactionIsolation

  1. 连接的默认事务隔离级别
  2. 默认:null,由驱动决定

1.20、validationTimeout

  1. 校验连接活性允许的超时时间
  2. 默认:5000
  3. 最小值:250 ms
  4. 要求小于 connectionTimeout
  5. 支持 JMX 动态修改

1.21、leakDetectionThreshold

  1. 连接对象可以被借出多久
  2. 默认:0不开启
    1. 如果大于0且不是单元测试,则进一步判断:(leakDetectionThreshold < SECONDS.toMillis(2) or (leakDetectionThreshold > maxLifetime && maxLifetime > 0),会被重置为0。
    2. 如果要生效则必须>0,而且不能小于2秒,而且当maxLifetime > 0时不能大于maxLifetime
  3. 最小允许值:2000 ms。
  4. 支持 JMX 动态修改

1.22、dataSource

  1. 直接指定 DataSource 实例,而不是通过 dataSourceClassName 来反射构造
  2. 默认:null,只能通过代码设置

1.23、schema

  1. 该属性为支持模式概念的数据库设置默认模式,支持SQL Script初始化执行
  2. 默认:null,由驱动决定

1.24、threadFactory

  1. 指定连接池获取线程的 java.util.concurrent.ThreadFactory实例。
  2. 默认:null,只能通过代码设置

1.25、scheduledExecutor

  1. 指定连接池开启定时任务的 java.util.concurrent.ScheduledExecutorService 实例建议设置setRemoveOnCancelPolicy(true)
  2. 默认:null,只能通过代码设置

1.26、keepaliveTime=0

  1. 多久检查一次连接的活性
  2. 检查时会先把连接从池中拿出来空闲的话,然后调用isValid()或执行connectionTestQuery来校验活性,如果通过校验,则放回池里。
  3. 默认:0 不启用
  4. 最小值为 30000 ms
  5. 必须小于 maxLifetime。
  6. 支持 JMX 动态修改

1.27、driverClassName

  1. JDBC 驱动使用的 Driver 实现类,一般根据 jdbcUrl 判断就行,报错说找不到驱动时才需要加
  2. 默认:null

1.28、dataSourceJndiName

  1. JNDI 配置的数据源名
  2. 默认:null
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/羊村懒王/article/detail/160657
推荐阅读
相关标签
  

闽ICP备14008679号