Spring 4.0.6 with quartz 1.8.6 : setCronExpression 方法未暴露给 CronTriggerBean class
Spring 4.0.6 with quartz 1.8.6 : setCronExpression method is not exposed to CronTriggerBean class
我正在使用 spring 版本 4.0.6 和 quartz,版本 1.8.6。问题是,当我尝试使用配置 class 而不是 xml(带有 @Configuration 注释)时,我无法使用方法
设置 cron 表达式
CronTriggerBean ctBean = new CronTriggerBean();
ctBean.setCronExpression("0 35 15 ? * MON *");
如果有版本兼容性问题,请告诉我。
准确的错误是:
The method setCronExpression(String) is undefined for the type CronTriggerBean
考虑使用 CronTriggerFactoryBean
:
@Bean
public CronTriggerFactoryBean cronTriggerFactoryBean() {
CronTriggerFactoryBean cronTriggerFactoryBean = new CronTriggerFactoryBean();
cronTriggerFactoryBean.setJobDetail(jobDetailFactoryBean().getObject());
cronTriggerFactoryBean.setCronExpression("0 35 15 ? * MON *");
return cronTriggerFactoryBean;
}
@Bean
public JobDetailFactoryBean jobDetailFactoryBean() {
JobDetailFactoryBean jobDetailFactoryBean = new JobDetailFactoryBean();
jobDetailFactoryBean.setJobClass(YOUR_CLASS.class);
return jobDetailFactoryBean;
}
然后:
CronTrigger trigger = cronTriggerFactoryBean.getObject();
文档 here 说:
"NOTE: This FactoryBean works against both Quartz 1.x and Quartz 2.0/2.1, in contrast to the older CronTriggerBean class.".
我正在使用 spring 版本 4.0.6 和 quartz,版本 1.8.6。问题是,当我尝试使用配置 class 而不是 xml(带有 @Configuration 注释)时,我无法使用方法
设置 cron 表达式CronTriggerBean ctBean = new CronTriggerBean(); ctBean.setCronExpression("0 35 15 ? * MON *");
如果有版本兼容性问题,请告诉我。
准确的错误是:
The method setCronExpression(String) is undefined for the type CronTriggerBean
考虑使用 CronTriggerFactoryBean
:
@Bean
public CronTriggerFactoryBean cronTriggerFactoryBean() {
CronTriggerFactoryBean cronTriggerFactoryBean = new CronTriggerFactoryBean();
cronTriggerFactoryBean.setJobDetail(jobDetailFactoryBean().getObject());
cronTriggerFactoryBean.setCronExpression("0 35 15 ? * MON *");
return cronTriggerFactoryBean;
}
@Bean
public JobDetailFactoryBean jobDetailFactoryBean() {
JobDetailFactoryBean jobDetailFactoryBean = new JobDetailFactoryBean();
jobDetailFactoryBean.setJobClass(YOUR_CLASS.class);
return jobDetailFactoryBean;
}
然后:
CronTrigger trigger = cronTriggerFactoryBean.getObject();
文档 here 说: "NOTE: This FactoryBean works against both Quartz 1.x and Quartz 2.0/2.1, in contrast to the older CronTriggerBean class.".