hikariCP常用参数
autoCommit
此属性控制从池中返回的连接的默认自动提交行为,布尔类型,默认值true
connectionTimeout
此属性控制客户端等待池中连接的最大毫秒数。如果超过此时间还未获得可用连接,则会抛出SQLException,可接受最低时间为250ms,默认值30000ms
idleTimeout
此属性控制连接在池中空闲的最长时间,此设置仅在minimumIdle定义为小于maximumIdle时适用,空闲连接不会被移除。空闲连接是否被移除为空闲连接的最大变化量+30s,平均变化量+15s。在此之前,空闲连接不会被移除。值为0表示永远不会从池中移除空闲连接。允许的最小值为10s,默认值10分钟(600000ms)
keepaliveTimeout
此属性控制池尝试保持连接活动的频率,以防止数据库或网络基础设施超时。此值必须小于maxLifetime值。”keepalive“仅在空闲连接上发生 。当针对给定连接的”keepalive“时间到达时,该连接将从池中移除,并进行”ping“,然后返回到池中。
”ping“可以是以下之一
调用JDBC4 isValid()方法或执行connectionTestQuery
通常,池外连接持续时间应以个位数毫秒甚至亚豪秒为单位,因此对性能的影响应该很小或没有明显影响。
该值允许的最小值为30s(30000ms),但分钟范围内最理想。默认值2分钟(120000ms)
maxLifetime
此属性控制池中连接的最大生命周期。正在使用的连接永远不会被淘汰,只有当它被关闭时才会被移除。对于每个连接,我们会应用轻微的负衰减,以避免池中大量连接消失。强烈建议设置此值,并且它应该比任何数据库或基础架构设置的连接时间限制短几秒。
值为0是表示没有最大生命周期(无限生命周期),这个取决于idleTimeout的设置。允许的最小值为30s(30000ms),默认值30分钟(1800000ms)
connectionTestQuery
如果驱动程序支持JDBC4,强烈建议不要设置此属性。此属性适用于不支持JDBC4 Connection.isValid() API的”旧版“驱动程序。此查询在从池中获取连接之前执行,以验证与数据库的连接是否仍然有效。
如果不知道驱动程序是否支持JDBC4,可以在不设置此属性的情况下运行程序,如果驱动程序不兼容JDBC4,hikariCP会记录错误并通知。
默认值:无。
minimumIdle
此属性控制在池中维护的最小连接数。如果空闲连接数低于此值,且池中的连接总数小于maximumPoolSize,hikariCP将快速高效的添加更多连接。但是,为了获得最佳性能并响应高峰需求,建议不要设置此值,而是让hikariCP充当固定大小的连接池。
默认值:与maximumIdle相同
maximumPoolSize
此属性控制在池中维护的最大连接数,包括空闲连接数和正在使用的连接数。当连接池到达此大小且没有可用的空闲连接时,对getConnection()的调用将阻塞最多connectionTimeout属性值的时间,直到超时。
默认值:10
metricRegistry
此属性仅通过编程控制或ioc容器可用,此属性允许指定一个Codahale/Dropwizard MetricRegistry实例,供池使用以记录各种指标。
默认值:无
healthCheckRegistry
此属性仅通过编程或ioc容器可用。此属性允许指定一个Codahale/Dropwizard MetricRegistry实例,供池使用以报告当前健康信息。
默认值:无
poolName
此属性表示用户定义的连接池名称,主要出现在日志记录和JMX(java management extensions)管理控制台中,用于识别连接池和连接池配置。
默认值:自动生成
hikariCP不常用参数
initializationFailTimeout
此属性控制当池无法成功获取初始连接时,池是否会”快速失败“。
任何整数都表示尝试获取初始连接的毫秒数,在此期间,应用程序线程将被阻塞。如果在此超时之前无法获取连接,则会抛出异常。此超时在connectionTimeout事件之后应用。
如果值为0,hikariCP将尝试获取并验证连接。如果获取了连接但验证失败,则会抛出异常,并且池也不会启动。但是,如果无法获取连接,池将启动,但后续获取连接的的尝试可能会失败。
小于0的值将绕过任何初始连接尝试,池将在后台尝试获取连接的同时立即启动,因此,后续获取连接的尝试可能会失败。
默认值:0
isolateInternalQueries
此属性控制hikariCP是否将内部池查询隔离在其自己的事务中。由于这些查询通常是只读查询,因此很少需要将它们封装到自己的事务中,此属性仅在autoCommit为false时适用。
默认值:false
allowPoolSuspension
此属性控制是否可以通过JMX暂停和恢复连接池。这对于某些故障转移自动化场景非常有用。当连接池暂停时,对getConnection()调用不会超时,并且会被保留,直到连接池恢复。
默认值:false
readOnly
此属性控制从池中获取的连接是否默认处于只读模式。请注意,某些数据库不支持只读模式,而其它数据库则在连接设置为只读时提供查询优化。是否需要此属性很大程度上取决于应用程序和数据库。
默认值:false
registerMbeans
此属性控制是否注册JMX管理Bean(”MBean“),默认值:false
catalog
此属性支持目录概念的数据库的默认目录。如果未设置此属性,则使用JDBC驱动程序定义的默认目录。
默认值:驱动程序默认值
connectionInitSql
此属性设置一个sql语句,该语句将在每次创建新的连接后将其添加到连接池之前执行。如果此sql语句无效或抛出异常,则将被视为连接失败,并遵循标准重试策略。
默认值:无
driverClassName
hikariCP将尝试仅根据jdbc url通过DriverManager解析驱动程序,但对于某些较旧的驱动程序,还必须指定driverClassName。除非受到明显的错误信息,表明未找到驱动程序,否则请忽略此属性。
默认值:无
transactionIsolation
此属性控制从池中返回的连接的默认事务隔离级别,如果未指定此属性,则使用JDBC驱动程序定义的默认事务隔离级别。仅当所有查询都通用的特定隔离要求时才使用此属性。此属性的值是Connection类中的常量名称,例如:RANSACTION_READ_COMMITTED, TRANSACTION_REPEATABLE_READ等。
默认值:驱动程序默认值
validationTimeout
此属性控制测试连接是否处于活动状态的最长时间。此值必须小于connectionTimeout。
可接受的最低验证超时时间为250ms。
默认值:5000ms
leakDetectionThreshold
此属性控制连接离开池的时间,超过此时间后会记录一条指示可能存在连接泄露的信息。
值为0表示禁用泄漏检测,启用泄漏检测的最低可接受值为2000ms(2s)。
默认值:0
datasource
此实行可通过编程或ioc容器使用,此属性允许直接设置要由池包装的DataSource实例,而不是让hikariCP通过反射构造它。指定该属性后,dataSourceClassName属性和所有特定于DataSource的属性将被忽略。
默认值:true
schema
此属性用于设置支持schema概念的数据库的默认schema。如果未指定此属性,则使用JDBC驱动程序定义的默认schema。
默认值:驱动程序默认值
threadFactory
此属性仅可通过编程配置或Ioc容器使用。此属性允许设置java.util.concurrent.ThreadFactory实例,该实例将用于创建池中使用的所有线程。在某些受限执行环境中,需要此属性,因为那些环境只能通过应用程序提供的ThreadFactory创建线程。
默认值:none
scheduledExecutor
此属性仅可通过编程配置或Ioc容器使用。此属性允许设置java.util.concurrent.ScheduledExecutorService实例,该实例将用于各种内部调度任务。如果为hikariCP提供ScheduledThreadPoolExecutor实例,建议使用setRemoveOnCancelPolicy(true)。
默认值:无
exceptionOverride
此属性仅可通过编程配置或Ioc容器使用。此属性允许设置一个实现com.zaxxer.hikari.SQLExceptionOverride接口的类实例,该实例将在由于特定异常情况而从池中移除之前调用。通常在抛出SQLException时,如果存在特定的 SQLStates 或 ErrorCodes,连接就会从池中移除。SQLExceptionOverride 实例将调用 adjudicate() 方法,该方法可能返回以下之一:Override.CONTINUE_EVICT、Override.DO_NOT_EVICT 或 Override.MUST_EVICT。除非常特殊情况外,应返回 Override.CONTINUE_EVICT,以允许执行默认的 evict/no-evict 逻辑。
默认值:无
exceptionOverrideClassName
此属性允许您指定用户提供的实现 com.zaxxer.hikari.SQLExceptionOverride 接口的类的名称。连接池将实例化该类的实例来裁定连接驱逐。
默认值:无
1429

被折叠的 条评论
为什么被折叠?



