SpringBoot 定时调度集成Quartz

本文介绍了如何在Spring Boot应用中集成Quartz框架,实现定时任务调度。通过配置JobDetail和Trigger,创建了一个每5秒执行一次的任务,展示了如何定义任务逻辑并在QuartzScheduler中触发执行。同时提供了cron表达式在线生成器,帮助设置任务执行间隔。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

定时调度集成Quartz

能够定时调用某种方法,实现定时推送的功能。

实现以及原理1:点击跳转

实现以及原理2:点击跳转

官方文档

cron在线生成器

  • Scheduler:任务调度器,所有的任务都是从这里开始。
  • Trigger:触发器,定义任务执行的方式、间隔。
  • JobDetail & Job : 定义任务具体执行的逻辑。

添加依赖pom.xml

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

jobs/MyFirstJob.java

定义任务具体执行的逻辑。

public class MyFirstJob implements Job {

    private Logger log = LoggerFactory.getLogger(MyFirstJob.class);

    @Override
    public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
        //需要执行的方法
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        log.info(sdf.format(new Date()) + "-->" + "Hello Spring Boot Quartz...");
    }
}

jobs/QuartzConfig.java

@Configuration
public class QuartzConfig {

    //对象方法构建对象存入beanFactory
    //任务调度器,所有的任务都是从这里开始。
    @Bean
    public JobDetail jobDetail(){
        return JobBuilder.newJob(MyFirstJob.class).storeDurably().build();
    }

    // 每5秒触发⼀次任务
    //触发器,定义任务执行的方式、间隔。
    @Bean
    public Trigger trigger(){
        return TriggerBuilder.newTrigger()
                //设置任务的种类 与及名字
                .withIdentity("trigger2", "group1")
                //设置执行的属性 时间属性
                .withSchedule(CronScheduleBuilder.cronSchedule("0/5 * * * * ? *"))
                        .forJob(jobDetail())
                        .build();
    }
}
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值