是否可以将@Scheduled与Duration字符串一起使用,例如15s和5m?

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

我的代码中有以下注释

@Scheduled(fixedDelayString = "${app.delay}")

在这种情况下,我必须具有这样的属性

app.delay=10000 #10 sec

属性文件看起来不可读,因为我的计算值以毫秒为单位。

有没有办法在其中传递5m或30s之类的值?

java spring spring-boot scheduled-tasks spring-scheduled
3个回答
1
投票

据我所知,您不能直接这样做。但是,Spring Boot配置属性会对support automatic conversion15s5m之类的参数执行Duration


0
投票

您可以调整注释以使用SpEL乘法。


0
投票

假设您使用的是Spring的最新版本,则可以使用任何可解析为java.time.Duration的String。您的情况:

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