第二十章、Spring Boot2.0 Quartz2

本文详细介绍了如何在Spring Boot 2.0中使用Quartz进行任务动态管理,包括任务的添加、删除、修改和启动/停止所有任务的实现方法,涉及Scheduler、JobBuilder和TriggerBuilder等关键组件的使用。
摘要由CSDN通过智能技术生成

课时八十五、 Spring Boot 2.0 quartz:任务动态管理-添加

在前面我们讲到了任务的持久化了,但是在实际项目中,我们的PD还是会提出更高的需求

一、需求分析

那么任务动态管理都包括哪些呢?

(1)动态添加任务:在应用程序运行的过程中,动态的添加一个定时任务(无需重启应用)

(2)动态删除任务:在应用程序运行的过程中,动态的删除一个定时任务

(3)动态修改任务:在应用程序运行的过程中,动态的修改一个定时任务,这里的修改主要是修改定时任务的时间

(4)动态关闭所有任务:在应用程序运行的过程中,动态的关闭所有定时任务,也就是当前正在运行的定时任务统统停掉

(5)动态启动所有任务:在应用程序运行的过程中,动态的启动所有定时任务,也就是把所有暂停的定时任务都启动起来

二、编码思路

(1)触发器如何构建:使用TriggerBuilder就可以构建触发器

(2)任务如何定义:使用JobBuilder就可以定义job

(3)定时任务谁管理:这是由定时任务调度器Scheduler进行管理的

(4)定时任务调度器谁管理:由于这里我们使用了Spring集成了Quartz,所以这里的Scheduler是由SchedulerFactoryBean进行管理的

三、代码实现

    /**
     * 动态添加任务.
     * @param jobName : 任务的名称;
     * @param jobGroupName 任务的组名称;
     * @param triggerName : 触发器名称
     * @param triggerGroupName : 触发器组名称
     * @param jobClass : job实现类.
     * @param cronExpression : 定时任务表达式
     * @return date -- 此定时任务第一次触发的时间.
     */

    public Date addJob(String jobName,String jobGroupName,String triggerName,String triggerGroupName,Class jobClass,String cronExpression) {
        /*
         * 1/ 需要获取到任务调度器Scheduler
         * 2/定义jobDetail;
         * 3/定义trigger;
         * 4/使用Scheduler添加任务;
         */
        
        //* 1/ 需要获取到任务调度器Scheduler
        Scheduler scheduler = schedulerFactoryBean.getScheduler();
        
//         * 2/定义jobDetail;
        JobDetai

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值