如何限制hikaricp中的初始池大小?

问题描述 投票:0回答:3

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

现在切换到hikaricp:相当于限制最初启动的连接是什么?

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

java spring spring-boot hikaricp
3个回答
2
投票

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

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

1
投票

您可以使用spring boot中提供的此属性:

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

然后:

spring.datasource.hikari.idleTimeout=120000

限制空闲连接的寿命,但hikari并没有为初始连接数提供这样的属性。


1
投票

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

通常,属性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记录的错误

© www.soinside.com 2019 - 2024. All rights reserved.