【发布时间】:2018-07-26 10:31:56
【问题描述】:
我曾经有一个tomcat 连接池配置限制初始池大小:spring.datasource.tomcat.initial-size=2
现在切换到hikaricp:限制最初启动的连接的等价物是什么?
旁注:spring.datasource.hikari.minimumIdle 不会阻止在启动时初始化 10 个连接。
【问题讨论】:
标签: java spring spring-boot hikaricp
我曾经有一个tomcat 连接池配置限制初始池大小:spring.datasource.tomcat.initial-size=2
现在切换到hikaricp:限制最初启动的连接的等价物是什么?
旁注:spring.datasource.hikari.minimumIdle 不会阻止在启动时初始化 10 个连接。
【问题讨论】:
标签: java spring spring-boot hikaricp
使用 spring boot,在 application.properties 中设置这些属性。
spring.jpa.hibernate.hikari.minimumIdle=5
spring.datasource.hikari.maximum-pool-size=10
【讨论】:
你可以使用spring boot中提供的这些属性:
spring.datasource.hikari.minimumIdle=5
spring.datasource.hikari.maximumPoolSize=8
然后:
spring.datasource.hikari.idleTimeout=120000
限制空闲连接的寿命,但 hikari 没有为您提供初始连接数的此类属性。
【讨论】:
我刚刚发现这与我的多个数据源的配置有关。
一般情况下,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
【讨论】: