Quartz TriggerListener 触发器监听器
Quartz Scheduler 可以对Trigger建立一个监听器,分别对Trigger的各种状态进行监听
实现监听器需要实现TriggerListener接口,然后注册到Scheduler上就可以了。
一:写一个类实现触发器监听接口
package com.gary.operation.jobdemo.example1; import org.quartz.JobExecutionContext;
import org.quartz.Trigger;
import org.quartz.Trigger.CompletedExecutionInstruction;
import org.quartz.TriggerListener; public class MyTriggerListener implements TriggerListener { @Override
public String getName() {
return "MyOtherTriggerListener";
} /**
* (1)
* Trigger被激发 它关联的job即将被运行
* Called by the Scheduler when a Trigger has fired, and it's associated JobDetail is about to be executed.
*/
@Override
public void triggerFired(Trigger trigger, JobExecutionContext context) {
System.out.println("MyOtherTriggerListener.triggerFired()");
} /**
* (2)
* Trigger被激发 它关联的job即将被运行,先执行(1),在执行(2) 如果返回TRUE 那么任务job会被终止
* Called by the Scheduler when a Trigger has fired, and it's associated JobDetail is about to be executed
*/
@Override
public boolean vetoJobExecution(Trigger trigger, JobExecutionContext context) {
System.out.println("MyOtherTriggerListener.vetoJobExecution()");
return false;
} /**
* (3) 当Trigger错过被激发时执行,比如当前时间有很多触发器都需要执行,但是线程池中的有效线程都在工作,
* 那么有的触发器就有可能超时,错过这一轮的触发。
* Called by the Scheduler when a Trigger has misfired.
*/
@Override
public void triggerMisfired(Trigger trigger) {
System.out.println("MyOtherTriggerListener.triggerMisfired()");
} /**
* (4) 任务完成时触发
* Called by the Scheduler when a Trigger has fired, it's associated JobDetail has been executed
* and it's triggered(xx) method has been called.
*/
@Override
public void triggerComplete(Trigger trigger, JobExecutionContext context,
CompletedExecutionInstruction triggerInstructionCode) {
System.out.println("MyOtherTriggerListener.triggerComplete()");
} }
二进行注册: 细节与注册任务监听器一样(http://www.cnblogs.com/daxin/archive/2013/05/29/3105830.html)
Registering A TriggerListener With The Scheduler To Listen To All Triggers
scheduler.getListenerManager().addTriggerListener(myTriggerListener, allTriggers());
Registering A TriggerListener With The Scheduler To Listen To A Specific Trigger
scheduler.getListenerManager().addTriggerListener(myTriggerListener, triggerKeyEquals(triggerKey("myTriggerName", "myTriggerGroup")));
Registering A TriggerListener With The Scheduler To Listen To All Triggers In a Group
scheduler.getListenerManager().addTriggerListener(myTriggerListener, triggerGroupEquals("myTriggerGroup"));
Quartz TriggerListener 触发器监听器的更多相关文章
- Quartz Cron 触发器 Cron Expression 的格式
转自:http://blog.csdn.net/yefengmeander/article/details/5985064 上一文中提到 Cron触发器可以接受一个表达式来指定执行JOB,下面看看这个 ...
- quartz的触发器CronTriggerBean 配置
一个Quartz的CronTrigger表达式分为七项子表达式,其中每一项以空格隔开,从左到右分别是:秒,分,时,月的某天,月,星期的某天,年:其中年不是必须的,也就是说任何一个表达式最少需要六项! ...
- spring quartz的触发器CrontriggerBean配置
每一个quartz的CronTrigger表达式分为七个子表达式,每个子表达式之间用空号分割,分别是:秒 分 时 日 月 星期 年.其中年不是必须的,所以CronTrigger最少有六个子表达式. 每 ...
- 【 Quartz】使用 JobListener (任务监听器可实现) 我想在一个任务执行后在执行第二个任务怎么办呢
http://liuzidong.iteye.com/blog/1147528 Quartz之JobExecutionException 博客分类: Java Quartz quartzjobexec ...
- Quartz定时任务学习(九)Quartz监听器
Quartz 提供了三种类型的监听器:监听 Job 的,监听 Trigger 的,和监听 Scheduler 自已的. 本章解释如何应用每一种类型来更好的管理你的 Quartz 应用,并获悉到什么事件 ...
- [译]Quartz.NET 框架 教程(中文版)2.2.x 之第七课 触发监听器和作业任务监听器
第七课:触发监听器和作业任务监听器 监听器是在调度器中基于事件机制执行操作的对象.你大概可以猜到,触发监听器接收响应跟触发器有关的事件,作业任务监听器接收响应跟作业任务有关的事件. 跟触发器有关的事件 ...
- Quartz使用(4) - Quartz监听器Listerner
1. 概述 Quartz的监听器用于当任务调度中你所关注事件发生时,能够及时获取这一事件的通知.类似于任务执行过程中的邮件.短信类的提醒.Quartz监听器主要有JobListener.Trigger ...
- Quartz任务调度(5)TriggerListener分版本超详细解析
TriggerListener 在我们的触发器监听器中,也包含了一系列监听方法 方法 说明 getName() 定义并返回监听器的名字 triggerFired() 当与监听器相关联的 Trigger ...
- Quartz集群
为什么选择Quartz: 1)资历够老,创立于1998年,比struts1还早,但是一直在更新(27 April 2012: Quartz 2.1.5 Released),文档齐全. 2)完全由Jav ...
随机推荐
- WSAAsyncSelect模型中,FD_WRITE事件什么时候触发?
当一个套接字连接被建立上时(包括客户端的connect(),connectex()等和服务器端的accept接收到后创建的新套接字),这时会触发FD_WRITE,以后就可以用send(),WSASen ...
- Scipy:高端科学计算
转 :https://blog.csdn.net/lwfcgz/article/details/23290623 Scipy scipy包包含致力于科学计算中常见问题的各个工具箱.它的不同子模块相应于 ...
- 将逗号分隔的字符串与List互转
将逗号分隔的字符串与List互转 方法 1: 利用JDK的Arrays类String str = "a,b,c";List<String> result = Array ...
- Visual F# Power Tools 简单介绍
Visual F# Power Tools 简单介绍 Auto-generating XmlDoc 当在函数定义的前面输入 ///< 以后.会自己主动生成 XML 文档.并会自己主动提取函数中的 ...
- JVM调优之---一次GC调优实战
某系统反馈『性能抖动,响应时间会突然飙高,TP999 MAX会到3000+』,初步怀疑是JVM FULL GC导致的 STW,观察FULL GC日志默认的JVM参数: -Xms4096m -Xmx40 ...
- Android app 全局异常统一处理
异常处理需求 Android app 出现 crash 时,会出现 "程序异常退出" 的提示并关闭,体验不好,另外主要是无法知道哪里出现的崩溃,需要知道哪里造成的异常,就需要一个全 ...
- 【Android】2.0 第2章 初识Android App
分类:C#.Android.VS2015: 创建日期:2016-02-04 一.认识Android操作系统 Android最早由安迪•罗宾(Andy Rubin)创办,2007年被Google公司收 ...
- create-react-app 使用详解
快速开始 npm install -g create-react-app create-react-app my-app cd my-app/ npm start 通过http://localhost ...
- vue-router新手指南
在学习完vue.js以及vuex之后,我们还剩下vue全家桶中的最后一个需要学习的组件,这就是vue-router了,本篇文章我们就来一起认识和入门vue-router.为什么我们只是入门呢?因为在这 ...
- WebClient请求帮助类
/// <summary> /// 通过JSON方式发送POST请求 /// 将返回结果按JSON方式解析 /// </summary> public static class ...