@Configuration
public class QuartzConfig {
@Bean
MethodInvokingJobDetailFactoryBean methodInvokingJobDetailFactoryBean1() {
MethodInvokingJobDetailFactoryBean areaChargingBean = new MethodInvokingJobDetailFactoryBean();
areaChargingBean.setTargetBeanName("dealBafcAreaChargingJob");
areaChargingBean.setTargetMethod("scheduleDealBafcAreaCharging");
return areaChargingBean;
}
@Bean
MethodInvokingJobDetailFactoryBean methodInvokingJobDetailFactoryBean2() {
MethodInvokingJobDetailFactoryBean buildingRiskLevelBean = new MethodInvokingJobDetailFactoryBean();
buildingRiskLevelBean.setTargetBeanName("dealBafcBuildingRiskLevelJob");
buildingRiskLevelBean.setTargetMethod("scheduleDealBafcBuildingRiskLevel");
return buildingRiskLevelBean;
}
/* @Bean
JobDetailFactoryBean jobDetailFactoryBean() {
JobDetailFactoryBean bean = new JobDetailFactoryBean();
bean.setJobClass(MyJob2.class);
JobDataMap map = new JobDataMap();
map.put("helloService", helloService());
bean.setJobDataMap(map);
return bean;
}*/
/* @Bean
SimpleTriggerFactoryBean simpleTriggerFactoryBean() {
SimpleTriggerFactoryBean bean = new SimpleTriggerFactoryBean();
bean.setStartTime(new Date());
bean.setRepeatCount(5);
bean.setJobDetail(methodInvokingJobDetailFactoryBean1().getObject());
bean.setRepeatInterval(3000);
return bean;
}*/
@Bean
CronTriggerFactoryBean cronTrigger1() {
CronTriggerFactoryBean bean = new CronTriggerFactoryBean();
bean.setCronExpression("0 0 0 * * ?");
bean.setJobDetail(methodInvokingJobDetailFactoryBean1().getObject());
return bean;
}
@Bean
CronTriggerFactoryBean cronTrigger2() {
CronTriggerFactoryBean bean = new CronTriggerFactoryBean();
bean.setCronExpression("0 0 1 * * ?");
bean.setJobDetail(methodInvokingJobDetailFactoryBean2().getObject());
return bean;
}
@Bean
SchedulerFactoryBean schedulerFactoryBean() {
SchedulerFactoryBean bean = new SchedulerFactoryBean();
bean.setTriggers(cronTrigger1().getObject(),cronTrigger2().getObject());
return bean;
}
}
@Component
public class DealBafcBuildingRiskLevelJob {
@Autowired
private BafcBuildingRiskLevelService bafcBuildingRiskLevelService;
public void scheduleDealBafcBuildingRiskLevel() {
bafcBuildingRiskLevelService.sheducleDealBuildingRiskLevel(); //暂时关闭定时任务
// bafcBuildingRiskLevelService.testSchedule();
}
}