springboot整合quartz实现多个定时任务

1、导入包

 <!--引入quartz定时框架-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-quartz</artifactId>
        </dependency>

2、新建2个定时任务。(根据需要,是1个还是2个或者多个任务)

  • 定时任务1
    public class MyIncomeInformationTask extends QuartzJobBean {
        @Override
        protected void executeInternal(JobExecutionContext jobExecutionContext) throws JobExecutionException {
            System.out.println(" 定时任务1 " );
        }
    }
    ​
  • 定时任务2
    public class MyIncomeInformationTask2 extends QuartzJobBean {
        @Override
        protected void executeInternal(JobExecutionContext jobExecutionContext) throws JobExecutionException {
            System.out.println(" 定时任务2 " );
        }
    }
    ​

3、配置文件QuartzConfig2

@Configuration
public class QuartzConfig {
    /*============================================================定时任务配置1============================================================*/
    //指定具体的定时任务类
    @Bean
    public JobDetail uploadTaskDetail() {
        return JobBuilder.newJob(MyIncomeInformationTask.class).withIdentity("MyHkInformationTask").storeDurably().build();
    }
    //配置触发器
    @Bean
    public Trigger uploadTaskTrigger() {
        //TODO 这里设定执行方式
        //每两秒执行一次
        CronScheduleBuilder scheduleBuilder = CronScheduleBuilder.cronSchedule("0/2 * * * * ?");
        return TriggerBuilder.newTrigger().forJob(uploadTaskDetail())
                .withIdentity("MyHkInformationTask")
                .withSchedule(scheduleBuilder)
                .build();
    }
    /*============================================================定时任务配置1============================================================*/
    /*============================================================定时任务配置2============================================================*/
    //指定具体的定时任务类
    @Bean
    public JobDetail uploadTaskDetail2() {
        return JobBuilder.newJob(MyIncomeInformationTask2.class).withIdentity("MyHkInformationTask2").storeDurably().build();
    }
    //配置触发器
    @Bean
    public Trigger uploadTaskTrigger2() {
        //TODO 这里设定执行方式
        //每五秒执行一次
        CronScheduleBuilder scheduleBuilder = CronScheduleBuilder.cronSchedule("0/5 * * * * ?");
        return TriggerBuilder.newTrigger().forJob(uploadTaskDetail2())
                .withIdentity("MyHkInformationTask2")
                .withSchedule(scheduleBuilder)
                .build();
    }
    /*============================================================定时任务配置2============================================================*/
}

4、启动项目运行


已有 0 条评论

    欢迎您,新朋友,感谢参与互动!