Spring Boot:从数据库获取@Scheduled cron值

我正在使用,Spring Boot并且在安排cron task数据库中现有的using值时遇到问题。

目前,我正在从属性文件中读取值,如下所示:

@Scheduled(cron= "${time.export.cron}")

public void performJob() throws Exception {

// do something

}

这很好用,但是我不是要从属性文件中获取值,而是要从数据库表中获取它们。有可能吗?

回答:

您可以在SpringBootApplication主类或任何配置类中添加一个bean来从数据库中获取cron值。示例代码如下:

@Autowired

private CronRepository cronRepo;

@Bean

public int getCronValue()

{

return cronRepo.findOne("cron").getCronValue();

}

您应该创建一个表并在数据库中提供合适的值。之后,您可以在@Scheduled中提供bean。示例代码如下:

@Scheduled(cron="#{@getCronValue}")

希望它能解决您的问题。

以上是 Spring Boot:从数据库获取@Scheduled cron值 的全部内容, 来源链接: utcz.com/qa/435745.html

回到顶部