数据仓库服务 GAUSSDB(DWS)-JDBC配置数据库第三方连接池:Hikari CP连接池配置

时间:2024-12-27 09:42:05

Hikari CP连接池配置

  1. 下载JDBC驱动包,请参见下载JDBC或ODBC驱动

  2. 将JDBC驱动包和HikariCP、slf4j驱动包添加到工程中,配置数据库连接池相关参数。

    表2 Hikari CP连接池参数配置

    参数名

    默认值

    说明

    driverClassName

    填写org.postgresql.Driver

    数据库驱动名称。

    jdbcUrl

    -

    连接数据库的URL。

    username

    -

    用户名。

    password

    -

    密码。

    autoCommit

    true

    连接返回连接池时,是否自动提交事务。

    connectionTimeout

    30000

    从连接池获取连接的最大超时时间。

    idleTimeout

    60000

    空闲连接存活的最大时间。只有当minimumIdle小于maximumPoolSize时,该设置才生效。

    • 空闲连接数大于minimumIdle且连接的空闲状态时间大于idleTimeout值时,将把该连接从连接池中删除。
    • 0表示永不超时。

    keepaliveTime

    0

    保持空闲连接可用的检测频率,单位:ms。0表示不检测。

    maxLifetime

    1800000

    连接存活的最大时间,单位:ms。0表示没有限制。

    connectionTestQuery

    -

    连接检测的查询语句。

    minimumIdle

    10

    最小空闲连接数。为了提高性能,建议不要设置此参数,使连接池为固定大小。

    maximumPoolSize

    10

    最大连接数。

    metricRegistry

    -

    该参数仅通过编程配置或IoC容器可用。

    该参数用于指定池使用的“Codahale/Dropwizard MetricRegistry”实例来记录各种指标。

    healthCheckRegistry

    -

    该参数仅通过编程配置或IoC容器可用。

    该参数用于指定池使用的“Codahale/Dropwizard HealthCheckRegistry”实例来记录健康信息。

    poolName

    -

    连接池名称。

    initializationFailTimeout

    1

    启动连接池时不能成功初始化连接,是否快速失败。

    • 大于0时,会尝试获取连接。如果获取时间超过指定时长(connectionTimeout + initializationFailTimeout),不会开启连接池,并抛出异常。
    • 等于0时,会尝试获取并验证连接。如果获取成功但验证失败则不开启池,但是如果获取失败还是会开启池。
    • 小于0时,直接启动连接池,不进行初始化连接尝试。

    isolateInternalQueries

    false

    是否在事务中隔离HikariCP自己的查询。“autoCommit”为“false”时,该设置生效。

    allowPoolSuspension

    false

    是否允许通过JMX挂起和恢复连接池。挂起时获取连接不会超时,直到连接池恢复。

    readOnly

    false

    连接是否只读。

    registerMbeans

    false

    是否开启JMX。

    catalog

    -

    默认的数据库catalog。

    connectionInitSql

    -

    连接池初始化后执行的SQL。

    transactionIsolation

    -

    默认的事务隔离级别。

    validationTimeout

    5000

    连接检测的超时时间。必须大于connectionTimeout,最小允许的值为250。

    leakDetectionThreshold

    0

    连接可以被借出多久。

    超过该时间将打印连接可能泄露的日志,最小允许的值为2000,单位:ms。

    schema

    -

    默认的数据库schema。

    threadFactory

    -

    指定连接池用于创建线程的 java.util.concurrent.ThreadFactory实例。此参数仅通过编程配置或IoC容器可用。

    scheduledExecutor

    -

    指定连接池用于执行定时任务的java.util.concurrent.ScheduledExecutorService实例。此参数仅通过编程配置或IoC容器可用。

support.huaweicloud.com/mgtg-dws/dws_01_0075.html