我曾经有一个tomcat
连接池配置限制初始池大小:spring.datasource.tomcat.initial-size=2
现在切换到hikaricp
:相当于限制最初启动的连接是什么?
旁注:spring.datasource.hikari.minimumIdle
不会阻止在启动时初始化10个连接。
使用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记录的错误