myJob:triggerFired。。。

vetoJobExecution

class coder.rdf.mybatis.study.JobTest:jobToBeExecuted。。。

test quartz

class coder.rdf.mybatis.study.JobTest:jobWasExecuted。。。

myJob:triggerComplete。。。

触发器先执行,调用vetoJobExecution方法,如果方法返回ture,则不执行Job

返回false,则执行Job

SchedulerFactory schedulerFactory = new StdSchedulerFactory();

Scheduler scheduler = schedulerFactory.getScheduler();

JobDetail jobDetail = JobBuilder.newJob(JobTest.class).

withIdentity("myJob","testjob").build();

Trigger trigger = TriggerBuilder.newTrigger()

.withIdentity("trigger3", "group1")

.withSchedule(CronScheduleBuilder.cronSchedule("0/10 * * * * ?"))

.build();

scheduler.getListenerManager().addJobListener(new QuatzJobListenrer());

scheduler.getListenerManager().addTriggerListener(new QuatzJobListenrer());

scheduler.scheduleJob(jobDetail, trigger);

System.out.println("--------scheduler start ! ------------");

scheduler.start();

TimeUnit.MINUTES.sleep(2);

scheduler.shutdown();

System.out.println("--------scheduler shutdown ! ------------");

public class QuatzJobListenrer extends JobListenerSupport implements JobListener, TriggerListener {

@Override
public String getName() {
return "Test JobListener";
} @Override
public void triggerFired(Trigger trigger, JobExecutionContext context) {
System.out.println(trigger.getJobKey().getName()+":triggerFired。。。");
} @Override
public boolean vetoJobExecution(Trigger trigger, JobExecutionContext context) {
System.out.println("vetoJobExecution");
return false;
} @Override
public void triggerMisfired(Trigger trigger) {
System.out.println(trigger.getJobKey().getName()+"triggerMisfired。。。");
} @Override
public void triggerComplete(Trigger trigger, JobExecutionContext context, Trigger.CompletedExecutionInstruction triggerInstructionCode) {
System.out.println(trigger.getJobKey().getName()+":triggerComplete。。。"); } @Override
public void jobToBeExecuted(JobExecutionContext context) {
System.out.println(context.getJobDetail().getJobClass()+":jobToBeExecuted。。。");
}
@Override
public void jobExecutionVetoed(JobExecutionContext context) {
System.out.println(context.getJobDetail().getJobClass() + "jobExecutionVetoed。。。");
}
@Override
public void jobWasExecuted(JobExecutionContext context, JobExecutionException jobException) {
System.out.println(context.getJobDetail().getJobClass() + ":jobWasExecuted。。。"); }

}

Quatz JobListener和TriggerListener的更多相关文章

  1. 几种任务调度的 Java 实现方法与比较

    综观目前的 Web 应用,多数应用都具备任务调度的功能.本文由浅入深介绍了几种任务调度的 Java 实现方法,包括 Timer,Scheduler, Quartz 以及 JCron Tab,并对其优缺 ...

  2. 几种任务调度的 Java 实现方法与比较Timer,ScheduledExecutor,Quartz,JCronTab

    几种任务调度的 Java 实现方法与比较 综观目前的 Web 应用,多数应用都具备任务调度的功能.本文由浅入深介绍了几种任务调度的 Java 实现方法,包括 Timer,Scheduler, Quar ...

  3. 几种任务调度的 Java 实现方法与比较--转载

    前言 任务调度是指基于给定时间点,给定时间间隔或者给定执行次数自动执行任务.本文由浅入深介绍四种任务调度的 Java 实现: Timer ScheduledExecutor 开源工具包 Quartz ...

  4. 推荐几种Java任务调度的实现

    几种任务调度的 Java 实现方法与比较--转载 原文:http://www.ibm.com/developerworks/cn/java/j-lo-taskschedule/ 写了一天的作业调度,这 ...

  5. 几种任务调度的 Java 实现方法与比较 mark

    任务调度是指基于给定时间点,给定时间间隔或者给定执行次数自动执行任务.本文由浅入深介绍四种任务调度的 Java 实现: Timer ScheduledExecutor 开源工具包 Quartz 开源工 ...

  6. 任务调度TimerTask&Quartz的 Java 实现方法与比较

    文章引自--https://www.ibm.com/developerworks/cn/java/j-lo-taskschedule/ 前言 任务调度是指基于给定时间点,给定时间间隔或者给定执行次数自 ...

  7. 聊Java中的任务调度的实现方法及比较

    前言 任务调度是指基于给定时间点,给定时间间隔或者给定执行次数自动执行任务.本文由浅入深介绍四种任务调度的 Java 实现: Timer ScheduledExecutor 开源工具包 Quartz ...

  8. 几种任务调度的 Java 实现方法与比较(定时任务)(转)

    转自:http://blog.csdn.net/javafay/article/details/8031269 综观目前的 Web 应用,多数应用都具备任务调度的功能.本文由浅入深介绍了几种任务调度的 ...

  9. Quartz集群

    为什么选择Quartz: 1)资历够老,创立于1998年,比struts1还早,但是一直在更新(27 April 2012: Quartz 2.1.5 Released),文档齐全. 2)完全由Jav ...

随机推荐

  1. python—数据类型和变量

    在python中,能够直接处理的数据类型和变量有整数.浮点数.字符串.布尔值.空值.变量. 一.整数 1.python可处理任意大小的整数,包括负整数,在程序中的表示方法与在数学中的方法一样.例如:0 ...

  2. vue微博回调空页面

    1.vue微博回调空页面 注:微博回调空页面为:http://127.0.0.1:8888/oauth/callback/ 1.1 页面路径 components\oauth.vue <temp ...

  3. 手撕HashMap

    前言: 平时工作的时候,用的最多的就是ArrayList和HashMap了,今天看了遍HashMap的源码,决定自己手写一遍HashMap. 一.创建MyHashMap接口       我们首先创建一 ...

  4. oracle 导入导出表,库

    Exp/Imp是oracle备份数据的两个命令行工具 1.本地数据库导入导出 1.导出 (运行---cmd中操作) exp 用户名/密码@数据库实例名file=本地存放路径 eg: exp jnjp/ ...

  5. 【佛山市选2013】JZOJ2020年8月7日T4 排列

    [佛山市选2013]JZOJ2020年8月7日T4 排列 题目 描述 一个关于n个元素的排列是指一个从{1, 2, -, n}到{1, 2, -, n}的一一映射的函数.这个排列p的秩是指最小的k,使 ...

  6. Spring Boot 使用 XXL-JOB

    一.配置部署调度中心 1.1 下载源码 https://github.com/xuxueli/xxl-job 1.2 数据库初始化 执行 /xxl-job/doc/db/tables_xxl_job. ...

  7. 解决右键notepad++打开时提示, ShellExecute failed (2): Is this command correct?

    错误如下图: 解决方法: 右键notepad++.exe; 去掉管理员方式

  8. Spark流式状态管理(updateStateByKey、mapWithState等)

    通常使用Spark的流式框架如Spark Streaming,做无状态的流式计算是非常方便的,仅需处理每个批次时间间隔内的数据即可,不需要关注之前的数据,这是建立在业务需求对批次之间的数据没有联系的基 ...

  9. Codeforces Edu Round 47 A-E

    A. Game Shopping 按照题意模拟既可. #include <iostream> #include <cstdio> using namespace std; co ...

  10. 【译】为什么Rust中的BTreeMap没有with_capacity()方法?

    原文标题:Why doesn't Rust's BTreeMap have a with_capacity() method? 原文链接:https://www.nicolas-hahn.com/20 ...