Spring Boot整合Quartz定时任务框架

quartz启动器

 <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-quartz</artifactId>
</dependency>

创建job类

@Component
public class Job {
    public void execute(){
        System.out.println("随便写点");
    }
}

Quartz配置类

@Configuration
public class QuartzConfig {

    /**
     * 做啥事儿
     * @param job
     * @return
     */
    @Bean
    public MethodInvokingJobDetailFactoryBean methodInvokingJobDetailFactoryBean(Job job){
        MethodInvokingJobDetailFactoryBean jobDetailFactoryBean = new MethodInvokingJobDetailFactoryBean();
        jobDetailFactoryBean.setTargetObject(job);
        jobDetailFactoryBean.setTargetMethod("execute");
        return jobDetailFactoryBean;
    }

    /**
     * 啥时候做
     * @param jobDetailFactoryBean
     * @return
     */
    @Bean
    public CronTriggerFactoryBean cronTriggerFactoryBean(MethodInvokingJobDetailFactoryBean jobDetailFactoryBean){
        CronTriggerFactoryBean cronTriggerFactoryBean = new CronTriggerFactoryBean();
        cronTriggerFactoryBean.setCronExpression("*/1 * * * * ?");
        cronTriggerFactoryBean.setJobDetail(jobDetailFactoryBean.getObject());
        return cronTriggerFactoryBean;
    }

    /**
     * 啥时候做啥事儿
     * @param triggerFactoryBean
     * @return
     */
    @Bean
    public SchedulerFactoryBean schedulerFactoryBean(CronTriggerFactoryBean triggerFactoryBean){
        SchedulerFactoryBean schedulerFactoryBean = new SchedulerFactoryBean();
        schedulerFactoryBean.setTriggers(triggerFactoryBean.getObject());
        return schedulerFactoryBean;
    }
}

版权声明:本文为zjw1060620998原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。