如何从application.properties文件读取Cron表达式配置定时任务
实现步骤
1. 编写application.properties配置
在src/main/resources路径下新建/编辑application.properties文件,添加自定义Cron表达式配置项:
# 自定义Dashboard任务执行Cron表达式,可按需调整 dashboard.task.cron=0 40 13 * * ?
2. 修改调度类注入配置值
利用Spring的@Value注解读取配置值,替换硬编码的表达式,修改后代码如下:
@Component public class DynamicjobSchedule { // 注入配置文件中的Cron表达式 @Value("${dashboard.task.cron}") private String dashboardTaskCron; public void schedulejobs() { for (ConnectionStrings obj : listObj) { System.out.println("Cron Trigger Starting.."); // 替换硬编码为注入的配置值 scheduler.schedule(new DashboardTask(obj), new CronTrigger(dashboardTaskCron)); } } }
注意事项
- 确保
DynamicjobSchedule是被Spring容器托管的Bean,你当前已经加了@Component注解,无需额外调整 - 如果你使用的是普通Spring项目而非Spring Boot,需要在Spring配置类中添加
@PropertySource("classpath:application.properties")注解,同时注册PropertySourcesPlaceholderConfigurerBean来解析${}占位符
内容的提问来源于stack exchange,提问作者Akoram
相关产品推荐
相关产品推荐

