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): 模 ...
随机推荐
- vue中提示toFixed不是函数
vue中toFixed获取小数点后两位 错误提示:.toFixed is not a function解决办法:Number(_this.group_cash).toFixed(2) 转自:http ...
- css3实现好看的边框效果
1.html结构 <div class="box">box</div> <br> <div class="border1&quo ...
- 无法对含有多个.java(或.class)文档的程序进行编译(或解释)
通常初学者会出现这样的问题:无法对含有多个.java(或.class)文档的程序进行编译(或解释). root@yogile-VirtualBox:/alive/string# javac work/ ...
- ubuntu 网络配置
检查网络配置命令:ifconfig 一.通过配置文件配置 新手没怎么用过Ubuntu,所以走了不少弯路,网上找了很多方法,大都没对我起到帮助作用,所以把自己的配置方法写一写. Ubuntu上连了两块网 ...
- 利用教育邮箱注册JetBrains产品(pycharm、idea等)的方法
转载:http://www.cnblogs.com/wang-meng/p/8887436.html 1,申请邮箱 地址为:http://mdu.edu.rs/ 邮箱的前缀可以改成自己喜欢的字符 ...
- 移动web总结
Meta标签: 1 <meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-sc ...
- MyEclipse 启动慢,优化
找到安装目录,修改myeclipse.ini 文件: -Xms2048m -Xmx8192m -XX:MaxPermSize=512m -XX:ReservedCodeCacheSize=256m
- 实验 2:备份和还原IOS
SW1配置 Switch>en Switch#conf t Enter configuration commands, one per line. End with CNTL/Z. Switch ...
- Error: No EPCS layout data - looking for section [EPCS-C84018]
/********************************************************************** * Error: No EPCS layout data ...
- Java 错误: 找不到或无法加载主类,问题集合
正确编译命令: javac Hello.java 正确运行命令: java Hello 错误1:H:\code>java Hello.java 错误: 找不到或无法加载主类 Hello. ...