Quartz的API简介及Jobs和Trigger介绍
Quartz的API:
主要api:
The key interfaces of the Quartz API are:
Scheduler - the main API for interacting with the scheduler.(最后日程启动API)
Job - an interface to be implemented by components that you wish to have executed by the scheduler.(需要实现的任务API)
JobDetail - used to define instances of Jobs.(任务实例的API)
Trigger - a component that defines the schedule upon which a given Job will be executed.(触发器API)
JobBuilder - used to define/build JobDetail instances, which define instances of Jobs. (JobDetail的定义)
TriggerBuilder - used to define/build Trigger instances.(Trigger的定义)
Scheduler 的生命周期受它的创建限制,通过一个 SchedulerFactory 和对其 shutdown()
方法的调用。一旦创建了调度程序接口,就可以使用添加、删除 和列出作业和触发器,并执行其他与调度相关的操作(例如暂停触发器)。但是,调度器实际上不会在任何触发器(执行作业)上起作用,直到它从 start()
方法开 始。
Jobs和Triggers
当作业的触发器触发时(稍后会详细说明),execute(..)
方法由一个调度程序的工作线程调用。传递给该方法的 JobExecutionContext 对象提供了有关其“运行时”环境的信息的作业实例——执行它的调度程序的句柄、触发执行的触发器的句柄、作业的 JobDetail 对象和其他一些项。
JobDetail 对象是由 Quartz 客户机(您的程序)在任务添加到调度器时创建的。它包含作业的各种属性设置,以及 JobDataMap,它可以用来存储作业类的给定实例的状态信息。它本质上是作业实例的定义。
触发器(Trigger)对象用于触发作业的执行(或“触发”)。当您希望调度作业时,您将实例化一个触发器并“调整”其属性,以提供您希望拥有的调度。触发器也可能有与它们相关联的JobDataMap——这对于将参数传递给特定于触发器触发的作业是有用的。带有少量不同触发器类型的Quartz船,但最常用的类型是SimpleTrigger和CronTrigger。
如果您需要“一次性”执行(仅在给定时刻执行一项任务),或者您需要在给定的时间内解雇一份工作,并且重复执行N次,在执行期间延迟执行,那么 SimpleTrigger 非常方便。如果你希望基于日历的日程安排(比如“每个周五,中午”或“每月10日10时15分”触发,CronTrigger 是很有用的。
Identities
Job 和 触发器(Triggers) 被赋予标识键(Identities),当它们在 Quartz 调度器中注册时。
Job 和触发器的关键(JobKey和TriggerKey)允许它们被放置到“组”(Group)中,这些“组”对组织工作和触发“报告工作”和“维护工作”等类别非常有用。
作业或触发器的键的名称部分必须在组内是惟一的,或者换句话说,作业或触发器的完整密钥(或标识符)是名称和组的复合。
Quartz的API简介及Jobs和Trigger介绍的更多相关文章
- Quartz入门例子简介 从入门到菜鸟(一)
转: Quartz入门例子简介 从入门到菜鸟(一) 2016年11月19日 22:58:24 爱种鱼的猫 阅读数:4039 刚接触quartz这个词并不是在学习过程中...而是WOW里面的界面插件 ...
- Web Api 简介
ASP.NET Web API 简介 ASP.NET MVC 4 包含了 ASP.NET Web API, 这是一个创建可以连接包括浏览器.移动设备等多种客户端的 Http 服务的新框架, ASP. ...
- ZooKeeper系列4:ZooKeeper API简介及编程
问题导读: 1.ZooKeeper API 共包含几个包? 2.如何使用ZooKeeper API 创建zookeeper应用程序? 1)ZooKeeper API 简介 ZooKeeper AP ...
- WebSocket API简介
WebSocket是html5新增加的一种通信协议,目前流行的浏览器都支持这个协议,例如Chrome,Safari,Firefox,Opera,IE等等,对该协议支持最早的应该是chrome,从chr ...
- 构建简单的 C++ 服务组件,第 1 部分: 服务组件体系结构 C++ API 简介
构建简单的 C++ 服务组件,第 1 部分: 服务组件体系结构 C++ API 简介 熟悉将用于 Apache Tuscany SCA for C++ 的 API.您将通过本文了解该 API 的主要组 ...
- Raphael Js矢量库API简介:
Raphael Js矢量库API简介:Raphael Javascript 是一个 Javascript的矢量库. 2010年6月15日,著名的JavaScript库ExtJS与触摸屏代码库项目jQT ...
- Quartz源码——JobStore保存JonDetail和Trigger源码分析(一)
我都是分析的jobStore 方式为jdbc的SimpleTrigger!RAM的方式类似分析方式! {0} :表的前缀 ,如表qrtz_trigger ,{0}== qrtz_ {1}:quartz ...
- 开放数据接口 API 简介与使用场景、调用方法
此文章对开放数据接口 API 进行了功能介绍.使用场景介绍以及调用方法的说明,供用户在使用数据接口时参考之用. 在给大家分享的一系列软件开发视频课程中,以及在我们的社区微信群聊天中,都积极地鼓励大家开 ...
- Monkey脚本API简介
一.API简介 LaunchActivity(pkg_name, cl_name):启动应用的Activity.参数:包名和启动的Activity. Tap(x, y, tapDuration): 模 ...
随机推荐
- caffe matlab matcaffe 加载输入网络net时报错
http://blog.csdn.net/xiaojiajia007/article/details/72850247
- 输入、输出与Mad Libs游戏
name1 = input('请输入一个名字:') name2 = input('再输入一个名字:') article = input('请输入一种物品:') print('{}掉进了{},{}去救她 ...
- effective_java第23条:请不要新代码中使用原生态类型
从这条开始涉及泛型相关的点. 从JDK5开始Java新增了“泛型”新特性,例如:List<String>,在这之前则只有List不会限定类型. 如今的JDK版本中还是可以写原生类型,但这会 ...
- python自学第13天 hashlib,re模块
import hashlib sha=hashlib.sha3_512()#定义加密成什么格式 sha.update('how to use sha1 in 年后 '.encode('utf-8')) ...
- C#磁性窗体设计
using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using Sy ...
- 数据库行转列、列转行,pivot透视多列
这就是典型的行转列问题. 首先说下最简单的思路 用union all select year,sum(m1) m1,sum(m2) m2,sum(m3) m3,sum(m4) m4 from ( s ...
- .NET并行计算和并发6-获取线程池的最大可用线程数
using System; using System.IO; using System.Security.Permissions; using System.Threading; class Test ...
- useradd语法2
在Linux中 useradd 命令用来创建或更新用户信息. useradd 命令属于比较难用的命令 (low level utility for adding users),所以 Debian 系的 ...
- 【oracle入门】数据库系统结构----三级模式
概念模式:概念模式也称模式,是对数据库中全局数据路基结构的描述,是全体用户公共的数据视图.这种描述是抽象描述,不涉及具体硬件环境与平台,也与具有软件环境无关. 外模式:外模式也称子模式或者用户模式,他 ...
- Erlang-接口技术
系统的构建一定会设计到简历接口,让他与不同的语言的应用程序之间简历系统的联系.这就叫做erlang的接口技术. 接口技术的三种实现方法: 1.让程序以外部操作系统进行的形式在Erlang虚拟机以外运行 ...