这是我的作业调度部分,我想删除cron触发器,CronTrigger("0 40 13 * * ?")
然后从application.properties
访问cron表达式。
@Component
public class DynamicjobSchedule {
public void schedulejobs() {
for (ConnectionStrings obj : listObj) {
System.out.println("Cron Trigger Starting..");
scheduler.schedule(new DashboardTask(obj), new CronTrigger("0 40 13 * * ?"));
}
}
}
我如何在src/main/resources位置创建一个属性文件,并提到cron表达式,然后从调度程序调用?
最简单的方法是像这样使用@Value注释:
@Component
public class DynamicjobSchedule {
@Value("${name.of.cron.expression.in.application.properties}")
private String cronExpression;
public void schedulejobs() {
for (ConnectionStrings obj : listObj) {
System.out.println("Cron Trigger Starting..");
scheduler.schedule(new DashboardTask(obj), new CronTrigger(cronExpression));
}
}
}
您也可以在方法参数上使用@Value
注释:
@Component
public class DynamicjobSchedule {
public void schedulejobs(@Value("${name.of.cron.expression.in.application.properties}") String cronExpression) {
for (ConnectionStrings obj : listObj) {
System.out.println("Cron Trigger Starting..");
scheduler.schedule(new DashboardTask(obj), new CronTrigger(cronExpression));
}
}
}