zoukankan      html  css  js  c++  java
  • 在SpringBoot中使用HikariCP连接池

    在SpringBoot中使用HikariCP连接池

    HikariCP 是一款性能极佳的数据库连接池,体积很小,大约130Kb。SpringBoot2.0也已经采用HikariCP作为默认连接池配置.。

    HikariCP官方Github

    https://github.com/brettwooldridge/HikariCP

    对比各类连接池的基准测试。

    和Druid比怎么样

    国内用 Druid的也不少,如果需要在DuridHikariCP之间进行一个选择,可以先参考双方作者之间的一次沟通
    https://github.com/brettwooldridge/HikariCP/issues/232

    SpringBoot整合

    SpringBoot对数据源连接池的选择算法

    1. 如果 HikariCP可用,那么就会选择 HikariCP
    2. 如果没有 HikariCP,但是Tomcat-Pool可用。 就会使用 Tomcat-Pool
    3. HikariCPTomcat-Pool 都不可用,但是 commons-dbcp 可用的话,就会使用commons-dbcp

    如果使用 spring-boot-starter-jdbc 或者spring-boot-starter-data-jpa “starters”, 会自动依赖 HikariCP

    可以忽略这个算法,通过配置强制SpringBoot使用指定的数据源

    spring.datasource.type=
    

    HikariCP的Maven

    <dependency>
    	<groupId>com.zaxxer</groupId>
    	<artifactId>HikariCP</artifactId>
    </dependency>
    

    配置项

    #------------------------------------------------------------------------------------------------------
    # 基本的核心配置,可以在 DataSourceProperties 中找到配置属性的定义
    #------------------------------------------------------------------------------------------------------
    spring.datasource.type=com.zaxxer.hikari.HikariDataSource
    spring.datasource.url=com.mysql.cj.jdbc.Driver
    spring.datasource.username=root
    spring.datasource.password=root
    
    #------------------------------------------------------------------------------------------------------
    # hikari连接池的配置,可以在 HikariConfig 中找到配置属性的定义
    #------------------------------------------------------------------------------------------------------
    spring.datasource.hikari.allow-pool-suspension=
    spring.datasource.hikari.auto-commit=
    spring.datasource.hikari.catalog=
    spring.datasource.hikari.connection-init-sql=
    spring.datasource.hikari.connection-test-query=
    spring.datasource.hikari.connection-timeout=
    spring.datasource.hikari.data-source-class-name=
    spring.datasource.hikari.data-source-j-n-d-i=
    spring.datasource.hikari.data-source-properties=
    spring.datasource.hikari.driver-class-name=
    spring.datasource.hikari.exception-override-class-name=
    spring.datasource.hikari.health-check-properties=
    spring.datasource.hikari.health-check-registry=
    spring.datasource.hikari.idle-timeout=
    spring.datasource.hikari.initialization-fail-timeout=
    spring.datasource.hikari.isolate-internal-queries=
    spring.datasource.hikari.jdbc-url=
    spring.datasource.hikari.leak-detection-threshold=
    spring.datasource.hikari.login-timeout=
    spring.datasource.hikari.max-lifetime=
    spring.datasource.hikari.maximum-pool-size=
    spring.datasource.hikari.metric-registry=
    spring.datasource.hikari.metrics-tracker-factory=
    spring.datasource.hikari.minimum-idle=
    spring.datasource.hikari.password=
    spring.datasource.hikari.pool-name=
    spring.datasource.hikari.read-only=
    spring.datasource.hikari.register-mbeans=
    spring.datasource.hikari.scheduled-executor=
    spring.datasource.hikari.schema=
    spring.datasource.hikari.transaction-isolation=
    spring.datasource.hikari.username=
    spring.datasource.hikari.validation-timeout=
    

    HikariCP带有 合理的 默认值,在大多数部署中都可以 正常运行 ,而无需进行其他调整。每个属性都是可选的。除了以下基本的核心属性以外。

    • data-source-class-name
    • jdbc-url
    • username
    • password

    因为整合了springboot,springboot已经在 spring.datasource 配置了如上属性,所以Hikari的中这些配置在这里可以忽略。

    常用的配置项,以及说明

    https://github.com/brettwooldridge/HikariCP#configuration-knobs-baby

    原文:https://springboot.io/t/topic/2193

  • 相关阅读:
    游戏与必胜策略
    中国剩余定理
    中国剩余定理
    欧几里得和扩展欧几里得
    欧几里得和扩展欧几里得
    51nod 1028 大数乘法 V2
    51nod 1028 大数乘法 V2
    51nod 1029 大数除法
    51nod 1029 大数除法
    51nod 1166 大数开平方
  • 原文地址:https://www.cnblogs.com/kevinblandy/p/13274420.html
Copyright © 2011-2022 走看看