在某个所关注事件发生时,监听器提供了一种方便且非侵入性的机制来获得这一通知。Quartz 提供了三种类型的监听器:监听 Job 的,监听 Trigger 的,和监听 Scheduler 自已的。本章解释如何应用每一种类型来更好的管理你的 Quartz 应用,并获悉到什么事件正在发生。官方参考:http://www.quartz-scheduler.org/documentation/quartz-2.2.x/tutorials/tuto...
7年前 (2017-09-13)
阅读(4928)
赞一个 (0)
链接直达
官方API:http://www.quartz-scheduler.org/api/2.2.1/index.html
todayAt 今天的某个时间
todayAt(int hour, int minute, int second)
public static void main(String[] args) {
SimpleDateFormat sdf...
7年前 (2017-09-13)
阅读(3479)
赞一个 (2)
链接直达
不要混淆了 Quartz 的 Calendar 对象与 Java API 的 java.util.Calendar。它们是应用于不同目的不一样的组件。Java 的 Calendar 对象是通用的日期和时间工具;许多过去由 Java 的 Date 类提供的功能现在加到了 Calendar 类中了。Quartz 的 Calendar 专门用于屏闭一个时间区间,使 Trigger 在这个区间中不被触发。Calendar 排除时间的粒度:Cal...
7年前 (2017-09-13)
阅读(4696)
赞一个 (1)
链接直达
Quartz API核心接口有Scheduler:(调度器)与scheduler交互的主要API; Job:(作业)你通过scheduler执行任务,你的任务类需要实现的接口; JobDetail:(作业实例)定义Job的实例; Trigger:(触发器)触发Job的执行; JobBuilder:定义和创建JobDetail实例的接口; TriggerBuilder:定义和创建Trigg...
7年前 (2017-09-12)
阅读(7112)
赞一个 (3)
链接直达
使用场景使用quartz做为后台任务调度框架,cron表达式设置时间,需要根据cron表达式计算出最近n次的执行具体时间--这个通常在开放给用户修改任务执行时间给出提示时非常有用解决:使用quartz的jar包中提供的TriggerUtils类来计算1、先根据corn算出执行时间例如:获取着一个月内 每天早上10:15触发的日期import org.quartz.TriggerUtils;
import org.q...
7年前 (2017-09-12)
阅读(4370)
赞一个 (1)
链接直达
主要参考了:xhEditor文件上传的Java实现http://easin.iteye.com/blog/692390 另外使用了xhEditor的最新版本:xheditor-1.1.9,上传组件包:smart-upload,json包: xhEditor官方网站:http://xheditor.com/下载网址:http://code.google.com/p/xheditor/downloads/listjson...
7年前 (2017-09-12)
阅读(2188)
赞一个 (0)
链接直达
由于业务需要,停止Quartz中正在执行的任务
1、任务类只需要实现InterruptableJob类,然后实现interrupt()方法。
2、在这个方法中进行标记的改变,在执行中进行这个标记判断,就可实现中断任务了
3、另外在调度器上调用方法:sched.interrupt(job.getKey())
源码示例:...
7年前 (2017-09-12)
阅读(5571)
赞一个 (2)
链接直达
异常处理本文根据官网示例说明Quartz在job执行异常情况时的处理。参考官方原文:http://www.quartz-scheduler.org/documentation/quartz-2.2.x/examples/Example6.html本文涉及3个类:BadJob1.java、BadJob2.java 和一个调度类 JobExceptionExample.javaBadJob1.javapackage com.ans...
7年前 (2017-09-11)
阅读(5310)
赞一个 (3)
链接直达
不知道大家在用Quartz的时候 有没有遇到这样一种情况:触发器设定每3秒钟触发一次 ,但是工作需要10秒钟的执行时间.因此,在一次任务结束执行前,触发器已经错失触发当这种情况下我们怎么处理呢,让我们一起学习一下......代码参照Quartz官方提供的示例5job类:StatefulDumbJob.javapackage com.anson.examples.example5;
import org.quar...
7年前 (2017-09-11)
阅读(4609)
赞一个 (2)
链接直达
通过第一篇文章的学习,已经初步认识了定时任务,如果说想要在执行任务时,将一些动态的值,传递给execute方法该怎么处理呢?JobDataMapJobDataMap可用于保存任何数量的(可序列化的)数据对象,您希望在执行时可以将其提供给作业实例。JobDataMap是Java Map接口的一个实现,并且有一些用于存储和检索原始类型的数据的方便方法。改造之后的测试方法如下调用,用的是usingJobData方法// 具体任务&n...
7年前 (2017-09-10)
阅读(8713)
赞一个 (2)
链接直达
使用xml的方式,会配置很多bean的信息,如果使用注解的方式,会更方便运用,配置注解相对简单注解配置spring配置文件里增加命令空间: xmlns:task="http://www.springframework.org/schema/task"
http://www.springframework.org/schema/task
http://w...
7年前 (2017-09-10)
阅读(3832)
赞一个 (2)
链接直达
Quartz for Spring集成源码log4j.xml<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration x...
7年前 (2017-09-09)
阅读(3002)
赞一个 (0)
链接直达