SpringBoot中的定时任务与Quartz的整合

本文介绍了如何在SpringBoot中集成Quartz进行定时任务的配置和使用,包括添加依赖、创建JobDetail和Trigger,以及通过CronSchedule设置灵活的定时规则。通过示例代码展示了启动定时任务的两种方式,并指出Quartz相比SpringBoot内置定时器的优势在于能够传递参数。
摘要由CSDN通过智能技术生成

SpringBoot集成Quartz

定时任务Quartz : 就是在指定的时间执行一次或者循环执行,在项目的开发中有时候会需要的, 还是很有用的.

SpringBoot内置的定时
1.添加依赖

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

2.启动类上添加注解

@SpringBootApplication
@EnableScheduling
public class SpringbootQuartzApplication {
   
}

3.创建定时执行的任务类(两种方式)

方式一:

@Component
public class SchedulerTask {
   
    
    private int count = 0;
    
    /**
     * @Author Smith
     * @Description 设置没6秒执行一次
     * @Date 14:23 2019/1/24
     * @Param 
     * @return void
     **/
    @Scheduled(cron = "*/6 * * * * ?")
    private void process(){
   
        System.out.println("this is scheduler task running " + (count++));
    }
    
}
方式二:


@Component
public class SchedulerTask2 {
   
    
    private static final SimpleDateFormat dateFormat =
            new SimpleDateFormat("HH:mm:ss");
    
    /**
     * @Author Smith
     * @Description 设置没6秒执行一次
     * @Date 14:22 2019/1/24
     * @Param 
     * @return void
     **/
    @Scheduled(fixedRate = 6000)
    private void process(){
   
        System.out.println("now time is " + dateFormat.format(new Date()));
    }
    
}

参数说明

@Scheduled 参数可以接受两种定时的设置,一种是我们常用的 cron="*/6 * * * * ?",一种是 fixedRate = 6000,两种都可表示固定周期执行定时任务。

fixedRate说明
	@Scheduled(fixedRate = 6000):上一次开始执行时间点之后 6 秒再执行。
	@Scheduled(fixedDelay = 6000):上一次执行完毕时间点之后 6 秒再执行。
	@Scheduled(initialDelay=1000, fixedRate=6000):第一次延迟 1 秒后执行,之后按 fixedRate 的规则每 6 秒执行一次。
	
cron说明
cron一定有七位数,最后一位是年,SpringBoot定时方案只需要设置六位即可:
	第一位, 表示秒, 取值是0 ~ 59
	第二位, 表示分. 取值是0 ~ 59
	第三位, 表示小时, 取值是0 ~ 23
	第四位, 表示天
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值