打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Spring整合Quartz轻松完成定时任务了解一下?

 一、背景

  上次我们介绍了如何使用Spring Task进行完成定时任务的编写,这次我们使用Spring整合Quartz的方式来再一次实现定时任务的开发,以下奉上开发步骤及注意事项等。

二、开发环境及必须jar包依赖

1.开发环境

  • Spring 4.2.6.RELEASE

  • Maven 3.3.9

  • JDK 1.7

  • Idea 15.04

2.必不可少jar包依赖

三、开发步骤

【1】.基于特定基类

 1. 编写任务类,该类需要继承自QuartzJobBean

2.在spring配置文件中配置作业类JobDetailFactoryBean、作业调度的触发方式(触发器)、调度工厂

注意:

    1).org.springframework.scheduling.quartz.JobDetailBean有两个属性.

        jobClass属性即我们在java代码中定义的任务类.

        jobDataAsMap属性即该任务类中需要注入的属性值.

    2).Quartz的作业触发器有两种(两种任选其一就行)

        org.springframework.scheduling.quartz.SimpleTriggerFactoryBean:只支持按照一定频度调用任务,如每隔30分钟运行一次.

        org.springframework.scheduling.quartz.CronTriggerFactoryBean:支持到指定时间运行一次,如每天12:00运行一次等.

        关于第二种触发器的Cron表达式,请参见另一篇博客:摆脱Spring 定时任务的@Scheduled cron表达式的困扰

    3).org.springframework.scheduling.quartz.SchedulerFactoryBean的参数triggers指定的就是之前配置的触发器的名字.

3.运行结果

【2】.不基于特定的基类

 1.编写任务调度类

2.在spring配置文件中配置作业类MethodInvokingJobDetailFactoryBean、作业调度的触发方式(触发器)、调度工厂

注意:MethodInvokingJobDetailFactoryBean,有两个关键属性:

    targetObject指定任务类.

    targetMethod指定运行的方法.

3.运行结果

四、总结

  Quartz属于重量级的定时任务框架,我们一般都会选择轻量级的如Spring Task定时任务进行开发,但是遇到比较棘手的,这也是一种解决问题的方式。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
使用Spring Quartz执行定时任务的表达式
基于ASP.NET MVC(C#)和Quartz.Net组件实现的定时执行任务调度
spring执行定时任务
springboot整合quartz实现定时任务
Spring 定时任务
Spring的任务调度服务实例讲解
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服