springboot+quartz执行一个或者多个任务的通用配置

1.pom:


    org.quartz-scheduler
    quartz
    2.2.3


    org.quartz-scheduler
    quartz-jobs
    2.2.3


    org.springframework
    spring-context-support


    org.springframework
    spring-tx

2. 任务执行类

public class CheckStatusTask2 implements Job {
    public void execute(JobExecutionContext context) throws JobExecutionException {
        // 定时任务逻辑
        System.out.println("开始执行定时任务2............."+new Date());
    }
}

3.配置定时任务(跟xml配置文件差不多,换了换模式而已)

@Configuration
public class QuartzConfig2 {

    @Bean(name="jobDetailFirst")
    public JobDetailFactoryBean jobDetailFirst(){
        JobDetailFactoryBean factory=new JobDetailFactoryBean();
        factory.setJobClass(CheckStatusTask2.class);
        return  factory;
    }

    @Bean(name="cronTriggerFirst")
    public CronTriggerFactoryBean cronTriggerFirst(@Qualifier("jobDetailFirst")JobDetailFactoryBean jobDetailFirst){
        CronTriggerFactoryBean factory=new CronTriggerFactoryBean();
        factory.setJobDetail(jobDetailFirst.getObject());
        factory.setCronExpression("0/6 * * * * ?");
        return factory;
    }

    @Bean(name="jobDetailSecond")
    public JobDetailFactoryBean jobDetailSecond(){
        JobDetailFactoryBean factory=new JobDetailFactoryBean();
        factory.setJobClass(CheckStatusTask3.class);
        return  factory;
    }

    @Bean(name="cronTriggerSecond")
    public CronTriggerFactoryBean cronTriggerSecond(@Qualifier("jobDetailSecond")JobDetailFactoryBean jobDetailSecond){
        CronTriggerFactoryBean factory=new CronTriggerFactoryBean();
        factory.setJobDetail(jobDetailSecond.getObject());
        factory.setCronExpression("0/2 * * * * ?");
        return factory;
    }

    @Bean(name="scheduler")
    public SchedulerFactoryBean schedulerFactoryBean(@Qualifier("cronTriggerFirst")CronTriggerFactoryBean cronTriggerFirst,
                                                     @Qualifier("cronTriggerSecond")CronTriggerFactoryBean cronTriggerSecond){
        SchedulerFactoryBean factory=new SchedulerFactoryBean();
        factory.setTriggers(cronTriggerFirst.getObject(),cronTriggerSecond.getObject());
        return factory;
    }


}

 

截图展示

springboot+quartz执行一个或者多个任务的通用配置_第1张图片

 

springboot+quartz执行一个或者多个任务的通用配置_第2张图片

你可能感兴趣的:(java类)