【问题标题】:How to restrict initial pool size in hikaricp?如何限制 hikaricp 中的初始池大小?
【发布时间】:2018-07-26 10:31:56
【问题描述】:

我曾经有一个tomcat 连接池配置限制初始池大小:spring.datasource.tomcat.initial-size=2

现在切换到hikaricp:限制最初启动的连接的等价物是什么?

旁注:spring.datasource.hikari.minimumIdle 不会阻止在启动时初始化 10 个连接。

【问题讨论】:

    标签: java spring spring-boot hikaricp


    【解决方案1】:

    使用 spring boot,在 application.properties 中设置这些属性。

    spring.jpa.hibernate.hikari.minimumIdle=5
    spring.datasource.hikari.maximum-pool-size=10
    

    【讨论】:

      【解决方案2】:

      你可以使用spring boot中提供的这些属性:

      spring.datasource.hikari.minimumIdle=5
      spring.datasource.hikari.maximumPoolSize=8
      

      然后:

      spring.datasource.hikari.idleTimeout=120000
      

      限制空闲连接的寿命,但 hikari 没有为您提供初始连接数的此类属性。

      【讨论】:

        【解决方案3】:

        我刚刚发现这与我的多个数据源的配置有关。

        一般情况下,spring.datasource.hikari.minimum-idle=2 属性会自动正确地限制启动池大小!

        但如果有多个数据源,则缺少一个配置属性,如下:

            @Bean
            @ConfigurationProperties("spring.datasource.secondary.hikari")
            public DataSource secondatyDataSource() {
                return ...
            }
        

        之前我只有"spring.datasource.secondary",而我的财产"spring.datasource.secondary.hikari.*"没有被考虑在内。

        这可能是错误的记录在 https://docs.spring.io/spring-boot/docs/current/reference/html/howto-data-access.html

        【讨论】:

          猜你喜欢
          • 2020-10-17
          • 2016-03-21
          • 1970-01-01
          • 2017-08-25
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2022-01-21
          相关资源
          最近更新 更多