springboot整合quartz实现定时任务的动态修改,启动,暂停等操作

本文介绍了如何在SpringBoot中整合Quartz实现定时任务,并详细阐述了如何进行动态修改、启动、暂停等操作。首先,讨论了Quartz的基本概念,接着展示了在SpringBoot项目中设置定时任务的步骤,包括引入依赖、创建定时任务类和配置调度器。随后,文章重点讲解了如何将定时任务与数据库结合,实现任务的动态管理,包括创建实体类、工具类和测试类。总结了SpringBoot中Quartz的使用特点和注意事项,如任务暂停后立即执行、线程池大小等。
摘要由CSDN通过智能技术生成

什么是Quartz?

一个定时任务调度框架,简单易用,功能强大可以使实现定时任务的。
在项目开发过程当中,某些定时任务,可能在运行一段时间之后,就不需要了,或者需要修改下定时任务的执行时间等等。
需要在代码当中进行修改然后重新打包发布,很麻烦。使用Quartz来实现的话不需要重新修改代码而达到要求。

springboot整合Quartz定时调度框架

开发环境

  1. JDK版本1.8
  2. springboot版本:2.1.0
  3. 开发工具:IDEA

实现一个简单的定时任务

第一步 引入对应的jar

在springboot2.0后官方添加了Quartz框架的依赖,所以只需要在pom文件当中引入

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

第二步 创建一个定时任务

由于springboot2.0自动进行了依赖所以创建的定时任务类直接继承QuzrtzJobBean就可以了,新建一个定时任务类:MyTask

public class MyTask extends QuartzJobBean {
    @Override
    protected void executeInternal(JobExecutionContext jobExecutionContext) throws JobExecutionException {
        //TODO 这里写定时任务的执行逻辑
        System.out.println("简单的定时任务执行时间:"+new Date().toLocaleString());
    }
}

第三步 创建Quartz配置类将之前创建的定时任务添加到定时调度里面

@Configuration
public class QuartzConfig {
	//指定具体的定时任务类
    @Bean
    public JobDetail uploadTaskDetail() {
        return JobBuilder.newJob(MyTask.class).withIdentity("MyTask").storeDurably().build();
    }

    @Bean
    public Trigger uploadTaskTrigger() {
        //TODO 这里设定执行方式
        CronScheduleBuilder scheduleBuilder = CronScheduleBuilder.cronSchedule("*/5 * * * * ?");
        // 返回任务触发器
        return TriggerBuilder.newTrigger().forJob(uploadTaskDetail())
                .withIdentity("MyTask")
                .withSchedule(scheduleBuilder)
                
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值