Quartz Trigger Priority 触发器优先级
Quartz Trigger Priority 触发器优先级
当多个触发器在一个相同的时间内触发,并且调度引擎中的资源有限的情况下,那么具有较高优先级的触发器先触发。
需要将配置文件中的org.quartz.threadPool.threadCount = 1设置为1,这样能更好的测试出效果。
- package com.gary.operation.jobdemo.example14;
- import static org.quartz.DateBuilder.futureDate;
- import static org.quartz.JobBuilder.newJob;
- import static org.quartz.SimpleScheduleBuilder.simpleSchedule;
- import static org.quartz.TriggerBuilder.newTrigger;
- import java.util.Date;
- import org.quartz.JobDetail;
- import org.quartz.Scheduler;
- import org.quartz.SchedulerFactory;
- import org.quartz.Trigger;
- import org.quartz.DateBuilder.IntervalUnit;
- import org.quartz.impl.StdSchedulerFactory;
- import org.slf4j.Logger;
- import org.slf4j.LoggerFactory;
- public class PriorityExample {
- public void run() throws Exception {
- Logger log = LoggerFactory.getLogger(PriorityExample.class);
- // First we must get a reference to a scheduler
- SchedulerFactory sf = new StdSchedulerFactory();
- Scheduler sched = sf.getScheduler();
- JobDetail job = newJob(TriggerEchoJob.class)
- .withIdentity("TriggerEchoJob")
- .build();
- Date startTime = futureDate(5, IntervalUnit.SECOND);
- Trigger trigger1 = newTrigger()
- .withIdentity("Priority7 Trigger5SecondRepeat")
- .startAt(startTime)
- .withSchedule(simpleSchedule().withRepeatCount(1).withIntervalInSeconds(5))
- .withPriority(7)
- .forJob(job)
- .build();
- Trigger trigger2 = newTrigger()
- .withIdentity("Priority5 Trigger10SecondRepeat")
- .startAt(startTime)
- .withPriority(5)
- .withSchedule(simpleSchedule().withRepeatCount(1).withIntervalInSeconds(5))
- .forJob(job)
- .build();
- Trigger trigger3 = newTrigger()
- .withIdentity("Priority10 Trigger15SecondRepeat")
- .startAt(startTime)
- .withSchedule(simpleSchedule().withRepeatCount(1).withIntervalInSeconds(5))
- .withPriority(10)
- .forJob(job)
- .build();
- // Tell quartz to schedule the job using our trigger
- sched.scheduleJob(job, trigger1);
- sched.scheduleJob(trigger2);
- sched.scheduleJob(trigger3);
- sched.start();
- log.info("------- Waiting 30 seconds... -------------");
- try {
- Thread.sleep(30L * 1000L);
- // executing...
- } catch (Exception e) {
- }
- sched.shutdown(true);
- }
- public static void main(String[] args) throws Exception {
- PriorityExample example = new PriorityExample();
- example.run();
- }
- }
Quartz Trigger Priority 触发器优先级的更多相关文章
- quartz2.3.0(十四)trigger触发器优先级排序
job任务类: package org.quartz.examples.example14; import org.slf4j.Logger; import org.slf4j.LoggerFacto ...
- 企业级任务调度框架Quartz(9) Quartz之作业触发器Trigger
前序: 我们已经大概对Quartz的基本有了一个大概的认识:现在我们将要逐渐对Quartz的各个重要组件进行学习:前面已经对job进行了详细讲解,现在我们来认识下它的一个重要兄弟,没有它,作 ...
- spring读书笔记----Quartz Trigger JobStore出错解决
将Quartz的JOBDetail,Trigger保持到数据库的时候发现,系统报错 The job (DEFAULT.jobDetail) referenced by the trigger does ...
- Quartz 多个触发器
http://www.oschina.net/code/snippet_114990_4440 最近项目中要做个定时生成静态html文件东东,7点到19点每5分钟生成一次,其他时间1小时生成一次,刚开 ...
- SQL之trigger(触发器)
先来看一小段程序 有如下三张表: 帐户(编号,姓名,余额,建立日期,储蓄所编号) 储蓄所(编号,名称,地址,人数,所属城市) 借贷(帐户,借贷类型,金额,日期) create trigger tri_ ...
- 删除trigger 禁用触发器 启用触发器 查看触发器
删除trigger drop trigger 触发器名 on 在那个表上 禁用触发器 Alter Table 表名 disable trigger 触发器名 启用触发器 Alter Table 表名 ...
- sqlserver trigger(触发器)-更新某几列数据时触发【转】
CREATE TRIGGER [dbo].[updataAlarmLevel]ON [dbo].[Alarm_Alarm_Info]AFTER INSERT, UPDATE – 在更新和插入之后ASB ...
- Zabbix trigger(触发器)设置
设置一个监控项–进站包数,当进站包数>50触发器报警. 先设置一个进站包数的监控项(item):
- [源码分析] 定时任务调度框架 Quartz 之 故障切换
[源码分析] 定时任务调度框架 Quartz 之 故障切换 目录 [源码分析] 定时任务调度框架 Quartz 之 故障切换 0x00 摘要 0x01 基础概念 1.1 分布式 1.1.1 功能方面 ...
随机推荐
- python IDE 集合
python ruby等语言由于其小众和动态特性,缺少优良的IDE,本篇将介绍主要的python IDE. 1.python安装后自带有IDLE,简单方便,应该算是最简单的编辑环境了,但是过于简单,不 ...
- HTML5无刷新修改URL
HTML5新添加了两个api分别是pushState和replaceState,DOM中的window对象通过window.history方法提供了对浏览器历史记录的读取,可以在用户的访问记录中前进和 ...
- 利用 T-sql 的从句 for xml path('') 实现多行合并到一行, 并带有分隔符
T-sql 有一个for xml path('')的从句能把多行结果合并到一行,并成为xml 格式 比如有一张表tb有两列,其格式和数据为: id value—————1 aa1 bb2 aaa2 b ...
- Java 8 – Convert Instant to ZonedDateTime
1. Instant -> ZonedDateTime Example to convert a Instant UTC+0 to a Japan ZonedDateTime UTC+9 Ins ...
- 启动和停止kafka 及kafka manager
启动kafka: sh /app/pet_kafka_xxxx_cluster/bin/kafka-server-start.sh -daemon /app/pet_kafka_xxxx_cluste ...
- 近观ArcGIS 10.3.1
ArcGIS 10.3.1公布了是有很多增强和改变.接下来我们重点内容一睹为快. 一.三维内容制作.公布及分享 ArcGIS 10.3.1能够实现三维内容制作.公布及分享.公布流程: 须要的软件环境 ...
- HDU 1431 素数回文
有人问我这个问题. 个人感觉暴搜会TLE O(n*sqrt(n)).n=100000000:(推断素数用2~sqrt(n)+1 去除) 还是枚举好了. 枚举 1~10000,把他每一位存下来,回文数已 ...
- 浅析C#中的托付
托付是寻址方法的.NET版本号.在C++中.函数指针仅仅只是是一个指向内存位置的指针,它不是类型安全的.而.NET托付全然不同,托付是安全类型的类,它定义了返回类型和參数的类型. 当把方法传递给其它方 ...
- android studio : clang++.exe: error: invalid linker name in argument '-fuse-ld=bfd
公司jenkins上的C++编译器最近换成了clang,今天更新了代码发现本地的C/C++代码用NDK编译不过了,提示: “clang++.exe: error: invalid linker nam ...
- (原创)发布一个c++11开发的轻量级的并行Task库TaskCpp
TaskCpp简介 TaskCpp是c++11开发的一个跨平台的并行task库,它的设计思路来源于微软的并行计算库ppl和intel的并行计算库tbb,关于ppl和tbb我在前面有介绍.既然已经有了这 ...