Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package ru.pochta.abon.config;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.context.annotation.Bean;
- import org.springframework.context.annotation.ComponentScan;
- import org.springframework.context.annotation.Configuration;
- import org.springframework.context.annotation.PropertySource;
- import org.springframework.core.env.Environment;
- import org.springframework.scheduling.quartz.CronTriggerFactoryBean;
- import org.springframework.scheduling.quartz.JobDetailFactoryBean;
- import org.springframework.scheduling.quartz.SchedulerFactoryBean;
- import ru.pochta.abon.job.CheckBoxReleaseDateJob;
- import ru.pochta.abon.job.CheckClaimLastUpdateDateJob;
- import ru.pochta.abon.job.TestQuartztJob;
- @Configuration
- @ComponentScan(value = {"ru.pochta.abon.job"})
- @PropertySource("classpath:quartz.properties")
- public class QuartzConfig {
- @Autowired
- Environment environment;
- //-- this will be removed (Just simple example)
- @Bean
- public JobDetailFactoryBean jobDetailFactoryBean() {
- JobDetailFactoryBean jobDetail = new JobDetailFactoryBean();
- jobDetail.setJobClass(TestQuartztJob.class);
- jobDetail.setGroup("AbonJob");
- jobDetail.setName("Test");
- return jobDetail;
- }
- @Bean
- public CronTriggerFactoryBean cronTriggerFactoryBean(){
- CronTriggerFactoryBean cronTrigger = new CronTriggerFactoryBean();
- cronTrigger.setJobDetail(jobDetailFactoryBean().getObject());
- cronTrigger.setStartDelay(3000);
- cronTrigger.setName("testTrigger");
- cronTrigger.setGroup("AbonTrigger");
- cronTrigger.setCronExpression("0 0/1 * 1/1 * ? *");
- return cronTrigger;
- }
- // --
- @Bean
- public JobDetailFactoryBean checkBoxReleaseDateJobDetail() {
- JobDetailFactoryBean jobDetail = new JobDetailFactoryBean();
- jobDetail.setJobClass(CheckBoxReleaseDateJob.class);
- jobDetail.setGroup(environment.getRequiredProperty("jobDetailGroup"));
- jobDetail.setName(environment.getRequiredProperty("checkBoxReleaseDateJobDetail.name"));
- return jobDetail;
- }
- @Bean
- public CronTriggerFactoryBean checkBoxReleaseDateCronTrigger(){
- CronTriggerFactoryBean cronTrigger = new CronTriggerFactoryBean();
- cronTrigger.setJobDetail(checkBoxReleaseDateJobDetail().getObject());
- cronTrigger.setStartDelay(3000);
- cronTrigger.setGroup(environment.getRequiredProperty("cronTriggerGroup"));
- cronTrigger.setName(environment.getRequiredProperty("checkBoxReleaseDateCronTrigger.name"));
- cronTrigger.setCronExpression(environment.getRequiredProperty("checkBoxReleaseDateCronTrigger.cronExpression"));
- return cronTrigger;
- }
- @Bean
- public JobDetailFactoryBean checkClaimLastUpdateDateJobDetail() {
- JobDetailFactoryBean jobDetail = new JobDetailFactoryBean();
- jobDetail.setJobClass(CheckClaimLastUpdateDateJob.class);
- jobDetail.setGroup(environment.getRequiredProperty("jobDetailGroup"));
- jobDetail.setName(environment.getRequiredProperty("checkClaimLastUpdateDateJobDetail.name"));
- return jobDetail;
- }
- @Bean
- public CronTriggerFactoryBean checkClaimLastUpdateDateCronTrigger(){
- CronTriggerFactoryBean cronTrigger = new CronTriggerFactoryBean();
- cronTrigger.setJobDetail(checkClaimLastUpdateDateJobDetail().getObject());
- cronTrigger.setStartDelay(3000);
- cronTrigger.setGroup(environment.getRequiredProperty("cronTriggerGroup"));
- cronTrigger.setName(environment.getRequiredProperty("checkClaimLastUpdateDateCronTrigger.name"));
- cronTrigger.setCronExpression(environment.getRequiredProperty("checkClaimLastUpdateDateCronTrigger.cronExpression"));
- return cronTrigger;
- }
- @Bean
- public SchedulerFactoryBean schedulerFactoryBean() {
- SchedulerFactoryBean scheduler = new SchedulerFactoryBean();
- if (environment.getRequiredProperty("quartz.scheduler.enable").equals("true")) {
- scheduler.setTriggers(checkBoxReleaseDateCronTrigger().getObject());
- }
- return scheduler;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment