当我搜索Hikaricp连接属性时,我发现了两个主要的区别,例如:
https://www.javadevjournal.com/spring-boot/spring-boot-hikari/
https://www.baeldung.com/spring-boot-hikari
spring.datasource.hikari.connection-timeout = 20000
spring.datasource.hikari.connectionTimeout=30000当我研究https://github.com/brettwooldridge/HikariCP#configuration-knobs-baby时
我找不到“”.connection-timeout“”
connection-timeout和connectionTimeout有什么区别?
这是我在网上发现的一个不同之处。?
发布于 2020-10-28 17:44:21
Spring Boot使用了他们称为relaxed binding的东西,并且这些属性中的每一个都将在相同的位置增加。HikariDataSource的connectionTimeout属性。
实际上,您也可以使用_,或者在提供环境变量时使用大写名称。
spring.datasource.hikari.connection-timeout=20000
spring.datasource.hikari.connection_timeout=20000
spring.datasource.hikari.connectionTimeout=30000
SPRING_DATASOURCE_HIKARI_CONNECTIONTIMEOUT=30000上述所有属性最终都将绑定到HikariDataSource.connectionTimeout属性。它们都是同一事物的不同表现形式。后者主要是为了克服Linux/Mac环境变量中不能使用-的局限性。
发布于 2020-10-28 17:33:07
下面是Hikari中的实际代码--设置配置,实际属性是connectionTimeout。当在Spring配置中提供此设置时,Spring最有可能通过setter调用它
public class HikariConfig implements HikariConfigMXBean
{
.....................
.....................
private volatile long connectionTimeout;
/** {@inheritDoc} */
@Override
public long getConnectionTimeout()
{
return connectionTimeout;
}
/** {@inheritDoc} */
@Override
public void setConnectionTimeout(long connectionTimeoutMs)
{
if (connectionTimeoutMs == 0) {
this.connectionTimeout = Integer.MAX_VALUE;
}
else if (connectionTimeoutMs < 250) {
throw new IllegalArgumentException("connectionTimeout cannot be less than 250ms");
}
else {
this.connectionTimeout = connectionTimeoutMs;
}
}https://stackoverflow.com/questions/64569292
复制相似问题