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

1.pom:

<dependency>
    <groupId>org.quartz-scheduler</groupId>
    <artifactId>quartz</artifactId>
    <version>2.2.3</version>
</dependency>
<dependency>
    <groupId>org.quartz-scheduler</groupId>
    <artifactId>quartz-jobs</artifactId>
    <version>2.2.3</version>
</dependency>
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-context-support</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-tx</artifactId>
</dependency>

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;
    }


}

 

截图展示

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值