小编典典

从Spring Boot application.yml文件中注入@Scheduled fixedRate值

spring-boot

我知道我可以使用以下语法从属性文件中注入值:

@Scheduled(fixedRate=${myRate})
public void getSchedule(){
    System.out.println("in scheduled job");
}

但是,如果配置在YAML文件中,我无法猜测如何完成相同的操作。

提前致谢,


阅读 973

收藏
2020-05-30

共1个答案

小编典典

在我的application.properties(YAML)中,

console:
    fetchMetrics: 5000

然后在我的简单Task类中推送定义:

@Scheduled(fixedRateString ="${console.fetchMetrics}", initialDelay=1000)
public void fetchMetrics() {
    logger.info("What's up ?");
}

请注意,fixedRate期望a long并且您要注入一个占位符,则需要fixedRateString

2020-05-30