Spring Boot 设置文件中怎样设置 Duration 参数?
Spring Boot 的设置文件常常会显现 Duration 典范的设置项,好比设置redis的一些设置参数。
# 定时职责,反省毗连池中的毗连对否满意最少有 min-idle 的个数,同时,不凌驾 max-idle 那么多个数。
spring.redis.lettuce.pool.time-between-eviction-runs=60s
#在关闭客户端毗连之前等候职责处理完成的最长时间,在这之后,无论职责对否实行完成,都市被实行器关闭,默许100ms
spring.redis.lettuce.shutdown-timeout=100
在指定参数值,可以使用任何支持的时间单位,如下所示:
- ns 表现纳秒;
- us 表现微秒;
- ms 表现毫秒;
- s 表现秒;
- m 表现分钟;
- h 表现小时;
默许的时间单位是微秒(milliseconds),也就是说,假如没有指定时间单位(后缀)就是微秒。
假如是自界说 properties 文件,也可以选择使用 @DurationUnit 注解举行标识默许单位,示例代码如下所示:
import java.time.Duration;
import java.time.temporal.ChronoUnit;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.boot.context.properties.ConstructorBinding;
import org.springframework.boot.context.properties.bind.DefaultValue;
import org.springframework.boot.convert.DurationUnit;
public class MyProperties {
private final Duration sessionTimeout;
private final Duration readTimeout;
public MyProperties( Duration sessionTimeout,
Duration readTimeout) {
this.sessionTimeout = sessionTimeout;
this.readTimeout = readTimeout;
}
public Duration getSessionTimeout() {
return this.sessionTimeout;
}
public Duration getReadTimeout() {
return this.readTimeout;
}
}
专栏Spring Cloud Alibaba微服务实战作者:软件架构29.8币184人已购查察