Quartz Job & Spring 动态任务调度

Quartz Job & Spring

在实际项目应用中经常会用到定时任务,可通过Quartz框架轻松完成。在Web项目中,如果用Spring框架管理Quartz,在Web容器启动或关闭时自动启动、关闭Quartz中的任务,非常方便。

传统的MethodInvokingJobDetailFactoryBean运行方式,配置复杂,且不够灵活——如果要动态改变任务的状态、cron表达式等就需要改变配置甚至代码需要重启服务器了。因此,我采取动态任务调度的方式,可自由控制任务进度,更可以显示到html页面上。

这里写图片描述

配置

只需要在Spring配置文件中加上SchedulerFactoryBean。

<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean" autowire="no"></bean>

这样,Spring就为我们创建了一个空的Scheduler,我们后面手动添加任务进去。

任务

我们定义一个Job类,任务都在这个Job类上执行

public class QuartzJobFactory implements Job {
   
    public void execute(JobExecutionContext context) 
            throws JobExecutionException{
        System.out.println("任务执行了");
    }
}

既然记录任务状态,那就需要定义一个类了,我们定义一个ScheduleJob

public class ScheduleJobDomain {
   
    private String jobId;    //任务id
    private String jobName;  //任务名称
    /** 任务状态 */
    private String jobStatus;

    private String quartz;   //cron表达式

    //省略get、set方法
}

再定义一个Service

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值