Quartz定时任务

主要介绍Spring集成Quartz定时任务

操作方法

  • 01

    Spring最大的能耐之一就是提供对流行框架的无缝集成,Quartz作为Java实现的工业标准级别的定时任务调度器,Spring对其提供了无缝的集成,并大大简化了开发工作,这是使用Spring比较爽的地方之一。 一个任务调度器最基本的三个元素是 Job(or Task):需要定时处理的事情 Trigger: 事件触发时间点(一次性的、固定周期性的、像Linux Cron Jobs 灵活配置的) Scheduler: 调度器 Job与Trigger是一对一的关系,Scheduler与Trigger是一对多的关系。 先看一个Spring配置这三个元素的示例:

  • 02

    Quartz的Job对应类为JobDetail,Spring为简化开发提供了工厂包装类MethodInvokingJobDetailFactoryBean类,当然开发人员还是可以自己实现JobDetail的,可以简单通过继承QuartzJobBean实现。MethodInvokingJobDetailFactoryBean类有concurrent属性默认值为true,即作业可并发调度,可以将其设置为false如果不允许作业被并发调度。

  • 03

    Quartz提供两种Trigger,一是SimpleTrigger提供周期性定时触发器,Spring的对工厂类为SimpleTriggerFactoryBean(注:SimpleTriggerBean不支持Quartz2以上版本,已经被SimpleTriggerFactoryBean替代);一是CronTrigger提供像Linux Cron Jobs那样的复杂触发器,触发时间点使用Cron表达式定义,Cron表达式语法可以参考Quartz官方文档,Spring的对应工厂类为CronTriggerFactoryBean(注:CronTriggerBean不支持Quartz2以上版本,已经被CronTriggerFactoryBean替代)。 Quartz的Scheduler对应类为Scheduler,Spring对应工厂类为SchedulerFactoryBean。

  • 04

    附:完整路径类名列表

  • 05

    配置完作业调度的基本三要素后我们只需要开发Task类,如示例中的FixedRateTask类,而与Quartz集成的事情Spring全部搞定了,马上下载并运行示例代码试试吧! Spring同时提供对Quartz的TriggerListener和JobListener的支持,这类似AOP编程,可以在任务执行前后进行检查等工作,通过简单的属性配置可实现。

(0)

相关推荐

  • 服务器安全狗 定时任务设置图文教程

    图1 定时任务主界面 下面对于定时任务下的三个功能点,我么来逐个讲解下: 1.定时操作 在使用服务器安全狗定时操作功能时,建议用户开启定时操作功能,这样方便用户设定时间进行关机与重启操作。同时,用户可 ...

  • 深入解析Linux下的定时任务

    在有了邮件的告警功能后,下一步要做的就是做一个定时任务,让这个任务按周期执行,这样就能周期性地收到告警信息了 在做定时任务之前,先检查一下当前的系统时间【date "+%Y-%m-%d %T"】和硬件 ...

  • Linux之定时任务Crond解析

    定时任务Crond介绍 Crond是linux系统中用来定期执行命令/脚本或指定程序任务的一种服务或软件,一般情况下,我们安装完Centos5/6 linux操作系统之后,默认便会启动Crond任务调 ...

  • win7系统缺少quartz.dll文件怎么办? quartz.dll的安装方法

    win7系统缺少quartz.dll文件,出现了电脑没声音.桌面无法正常显示等问题,该怎么办呢?下面我们就来看看详细的教程. 1.下载本文提供的quartz.dll文件,解压quartz压缩包后,打开 ...

  • Linux使用crontab运行Java程序定时任务代码解析

    简介 Linux中,crontab的功能是十分强大的,能够方便的调度程序的运行,甚至在很多时候能够替代程序中的定时任务. 分析 它的命令格式和主要参数如下: 命令格式 crontab [-u user ...

  • Navicat设定mysql定时任务步骤示例

    怎样在Navicat中设置,是数据库按照记录中的日期更新状态字段 其实这个很常用,比如你网站里的某条记录的日期--比如说数据库中某条活动记录的审核日期字段已经过期,亦即当前时间已经超过审核日期,那么定 ...

  • java定时任务,每天定时任务

    今天为大家分享的一个就是java的定时任务,就是说在一天的某个时间点执行我的这点代码. 编程语言:java IDE:MyEclipse jar包:servlet.jar 环境:jdk1.6 首先创建一 ...

  • linux命令学习之crontab命令的使用定时任务

    本经验介绍在linux系统中所要使用到的系统命令,这里教大家学习linux命令之 crontab命令的使用定时任务.crond命令每分锺会定期检查是否有要执行的工作,如果有要执行的工作便会 自动执行该 ...

  • crontab编辑修改定时任务

    操作方法 01 用crontab可以设置Linux中的定时任务,详细的使用方法网上一大片,我只说下对于像我这种半路出家的拿来主义者,只要能改下时间就好了.按网上说的按下crontab -e就可以编辑修 ...