
【Quartz任务调度】
文章平均质量分 96
Quartz
小小工匠
show me the code ,change the world
展开
-
Quartz- Quartz API以及Jobs 和Triggers介绍
Quartz APIJobs 和 Triggers唯一标识Quartz APIQuartz API 主要包含了以下接口Scheduler – 调度器,任务调度的主 API。Job – 由调度器调度的任务需要实现的接口。JobDetail – 用于定义任务的实例。Trigger – 用于定义需要执行的任务和任务的执行时间。JobBuilder – 用于定义/创建 JobDetail 实例原创 2017-10-07 12:54:34 · 16852 阅读 · 0 评论 -
Quartz-Job 详解
概述概述Quartz- Quartz API以及Jobs 和Triggers介绍 中 ,我们可以看到 Job是相当容易实现,只需要实现Job接口,重写execute方法即可原创 2017-10-08 00:12:24 · 21980 阅读 · 0 评论 -
Quartz-Trigger详解
概述通用 Trigger 属性Priority错过触发机制misfire instructionCalendar概述类似于 Job,Trigger 也非常容易使用,但是它包含了大量的自定义选项,你需要了解它们才能完全使用 Quartz。并且,Trigger 本身有很多不同的实现,你需要根据具体情况进行选择。通用 Trigger 属性先不说所有 Trigger 都有 TriggerKey 属性原创 2017-10-08 02:22:15 · 37504 阅读 · 0 评论 -
Quartz-SimpleTrigger解读
概述小例子创建一个在某个时间点执行的 Trigger创建一个在某个时间点执行的 Trigger并且随后每 10 秒执行一次执行 10 次创建一个 Trigger并且在 5 分钟后执行一次创建一个 Trigger并且立即执行一次以后每 5 分钟执行一次直到 2200创建一个 Trigger并且在下一小时开始的时候执行一次以后每两小时执行一次永久循环SimpleTrigger 的错过触发机原创 2017-10-08 06:26:02 · 17411 阅读 · 0 评论 -
Quartz-CronTrigger解读
概述Cron表达式的组成cron表达式中的问号 的含义1当星期和日期都为或数字时报错2当星期和日期都为时报错时间格式特殊字符Cron 表达式样例CronTrigger 样例 1 时钟从 0 分钟开始每 5 分钟执行一次CronTrigger 样例 2 时钟从 0 分钟开始每 5 分钟执行一次并且秒钟是 10例如 100010 am 100510 am 等CronTrigger原创 2017-10-08 08:45:21 · 17472 阅读 · 0 评论 -
Quartz-Calendar 排除指定节假日时间执行任务
概述注意事项Calendar 排除时间的粒度BaseCalendar子类说明示例AnnualCalendarCronCalendarDailyCalendarHolidayCalendarMonthlyCalendarWeeklyCalendar示例源码概述在实际任务调度中,我们不可能一成不变地按照某个周期性的调度规则运行任务,必须考虑到实现生活中日历上特定日期。由于节日是每年原创 2017-10-08 11:53:05 · 23069 阅读 · 1 评论 -
Quartz-任务调度信息持久化到DB中
概述操作步骤执行脚本建立对应的表quartz数据表解释配置quartzproperties示例示例源码概述 在默认情况下,Quartz将任务调度的运行信息保存在内存中。 这种方法提供了最佳的性能,因为在内存中的数据访问速度最快;不足之处就是却反数据的持久性,当程序中途停止或者系统崩溃时,所有运行的信息都会丢失。比如我们希望安排一个执行100次的任务,如果执行到50次时系统崩溃了,系统重启原创 2017-10-10 11:36:43 · 19753 阅读 · 0 评论 -
Quartz-Spring集成Quartz通过XML配置的方式
概述Maven依赖步骤创建JobDteail创建Trigger创建Scheduler示例-MethodInvokingJobDetailFactoryBean示例-JobDetailFactoryBean示例源码概述Spring为创建Quartzde Scheduler、Trigger和JobDetail提供了方便的FactoryBean类,以便能够在Spring容器中享受注入的好处原创 2017-11-11 12:05:55 · 28738 阅读 · 1 评论 -
Quartz-Spring通过 @Scheduled驱动任务
概述步骤配置文件中增加task命名空间配置Spring扫描和task扫描编写带有注解的Job类示例Scheduled解读示例源码概述上一篇博文Quartz-集成Spring使用XML配置中我们了解到了通过xml配置的方式集成Quartz,我们发现使用xml的方式,会配置很多bean的信息,但是如果使用注解的方式,会更方便,配置注解相对简单。步骤配置文件中增加task命名空间xmlns:原创 2017-11-12 20:31:07 · 16666 阅读 · 1 评论 -
Quartz-JobDataMap 参数传递
概述概述我们在Quartz-Job 详解中,讲解了纯Quartz的参数传递,这里我们将通过与Spring结合的方式再次讲解一下Quartz中的参数传递。原创 2017-11-12 22:07:49 · 32300 阅读 · 6 评论 -
Quartz-错过触发机制
概述官方示例概述有的时候我们会遇到这样一种情况:触发器设定每3秒钟触发一次 ,但是工作需要10秒钟的执行时间.因此,在一次任务结束执行前,触发器已经错失触发当这种情况下我们怎么处理呢? 我们来看下Quartz给的官方Demo官方示例原创 2017-11-15 12:18:36 · 24564 阅读 · 2 评论 -
Quartz-异常处理
概述示例示例说明说明示例源码概述我们根据官网示例说明Quartz在job执行异常情况时的处理。参考官方原文: http://www.quartz-scheduler.org/documentation/quartz-2.2.x/examples/Example6.html本文涉及3个类: BadJob1.java、 BadJob2.java 一个调度类 JobExceptionEx原创 2017-11-15 13:18:17 · 40706 阅读 · 1 评论 -
Quartz-中断正在执行的任务
概述示例示例源码概述由于业务需要,停止Quartz中正在执行的任务任务类只需要实现InterruptableJob类,然后实现interrupt()方法。在这个方法中进行标记的改变,在执行中进行这个标记判断,就可实现中断任务了另外在调度器上调用方法:sched.interrupt(job.getKey())示例示例源码代码已托管到Github—> https://github.com/y原创 2017-11-15 21:19:17 · 32654 阅读 · 3 评论 -
Quartz-Cron表达式统计最近几次的执行时间
概述示例示例源码概述使用quartz做为后台任务调度框架,cron表达式设置时间,需要根据cron表达式计算出最近n次的执行具体时间–这个通常在开放给用户修改任务执行时间给出提示时非常有用解决:使用quartz的jar包中提供的TriggerUtils类来计算示例1、先根据corn算出执行时间例如:获取着一个月内 每天早上10:15触发的日期package com.xgj.quartz.quar原创 2017-11-16 00:02:47 · 21387 阅读 · 0 评论 -
Quartz-DateBuilder解读
概述示例todayAt tomorrowAt 今天明天的某个时间evenMinuteDate 返回下一分钟的开始时间evenMinuteDateBefore 获取开始时间dateOf 指定日期nextGivenMinuteDate 下一个给定分钟日期translateTime 转换时间futureDate 未来时间示例源码概述官方API: http://www.quartz-原创 2017-11-16 13:00:08 · 17548 阅读 · 0 评论 -
Quartz-JobListener解读
概述步骤简述全局非全局监听器JobListener 任务监听器 示例JobListener源码完整示例示例源码概述在某个所关注事件发生时,监听器提供了一种方便且非侵入性的机制来获得这一通知。Quartz 提供了三种类型的监听器:监听 Job 的,监听 Trigger 的,和监听 Scheduler 自已的。本博文阐述如何应用每一种类型来更好的管理你的 Quartz 应用,并获悉到什么事件原创 2017-11-17 05:45:07 · 19376 阅读 · 0 评论 -
Quartz-任务调度概述及Quartz(2.2.X)快速入门
概述Quartz 概述Quartz 基础结构JobJobDetailTriggerCalendarSchedulerThreadPool概述任务调度是多数应用系统的常见需求之一,我们直接编写基于现成的调度程序,不但容易出错,而且实现难度很大。 Quartz是任务调度领域非常出色的开源框架,Spring提供了继承Quartz的功能。 首先我们来回归下,常见的定时任务:OS级别的定时任原创 2017-10-05 10:19:37 · 17017 阅读 · 0 评论 -
Quartz-Java Web项目中使用Quartz
概述实现示例步骤一 构建Maven项目步骤二 日志组件的配置logbackxml步骤三 自定义监听器的编写步骤四 webxml中注册监听器步骤五 启动概述Quartz也常用在Web应用中,常见的是交由Spring托管的形式,但这里并非介绍这个。如果你的很老的一个项目没有使用Spring呢? 这里我们介绍Quartz在Web应用中单独使用的场景。实现对于定时任务来讲,一般来说,Web原创 2017-11-08 13:51:19 · 18278 阅读 · 0 评论 -
Quartz-SchedulerListener解读
概述SchedulerListener接口方法解读示例示例源码概述SchedulerListener 是在 Scheduler 级别的事件产生时得到通知,不管是增加还是移除 Scheduler 中的 Job,或者是 Scheduler 遭遇到了严重的错误时。那些事件多是关于对 Scheduler 管理的,而不是专注于 Job 或 Trigger 的。org.quartz.SchedulerLi原创 2017-11-17 10:34:43 · 16459 阅读 · 0 评论 -
Quartz-TriggerListener解读
概述TriggerListener接口方法示例示例源码概述Quartz-JobListener解读与 JobListener 有所不同的是, TriggerListener 接口还有关于 Trigger 实例生命周期的方法。TriggerListener接口方法我们先看下TriggerListener的源码import org.quartz.Trigger.CompletedExecution原创 2017-11-17 09:56:02 · 16387 阅读 · 1 评论