quartz的框架特征
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了quartz的框架特征相关的知识,希望对你有一定的参考价值。
参考技术AQuartz框架有一个丰富的特征集。事实上,Quartz有太多特性以致不能在一种情况中全部领会,下面列出了一些有意思的特征,但没时间在此详细讨论。
监听器和插件
每个人都喜欢监听和插件。今天,几乎下载任何开源框架,你必定会发现支持这两个概念。监听是你创建的java类,当关键事件发生时会收到框架的回调。例如,当一个作业被调度、没有调度或触发器终止和不再触发时,这些都可以通过设置来通知你的监听器。Quartz框架包含了调度器监听、作业和触发器监听。你可以配置作业和触发器监听为全局监听或者是特定于作业和触发器的监听。
一旦你的一个具体监听被调用,你就能使用这个技术来做一些你想要在监听类里面做的事情。例如,你如果想要在每次作业完成时发送一个电子邮件,你可以将这个逻辑写进作业里面,也可以写进JobListener里面。写进JobListener的方式强制使用松耦合有利于设计上做到更好。
Quartz插件是一个新的功能特性,无须修改Quartz源码便可被创建和添加进Quartz框架。他为想要扩展Quartz框架又没有时间提交改变给Quartz开发团队和等待新版本的开发人员而设计。如果你熟悉Struts插件的话,那么完全可以理解Quartz插件的使用。
与其Quartz提供一个不能满足你需要的有限扩展点,还不如通过使用插件来拥有可修整的扩展点。
集群Quartz应用
Quartz应用能被集群,是水平集群还是垂直集群取决于你自己的需要。集群提供以下好处:
·伸缩性
·高可用性
·负载均衡
Quartz可以借助关系数据库和JDBC作业存储支持集群。
Terracotta扩展quartz提供集群功能而不需要数据库支持
相关工具
Quartz经常会用到cron表达式,可以使用国外网站cronmaker辅助生成cron表达式。
Quartz任务调度框架使用
一、什么是Quartz
Quartz是一个完全由java编写的开源作业调度框架。不要让作业调度这个术语吓着你。尽管Quartz框架整合了许多额外功能, 但就其简易形式看,你会发现它易用得简直让人受不了!
下载官网:http://www.quartz-scheduler.org/
可以在maven项目中导入对应的坐标
二、Quartz快速入门
建立一个maven项目
导入Quartz的maven坐标
其中官网中提供了一下案例可以参考一下
网站:http://www.quartz-scheduler.org/documentation/quartz-2.1.x/quick-start.html
在这里我编写了一个demo
import org.quartz.Scheduler;
import org.quartz.SchedulerException;
import org.quartz.impl.StdSchedulerFactory;
public class Demo1 {
public static void main(String[] args) throws SchedulerException {
// 定时器对象
Scheduler scheduler = StdSchedulerFactory.getDefaultScheduler();
// 开启定时任务
scheduler.start();
// 关闭定时任务
scheduler.shutdown();
}
}
当然这里并没有实现任何功能,如果需要实现工作任务需要掌握两个对象(JobDetail/Trigger)
Job 工作任务 ,你要做什么
Trigger 执行工作任务 触发条件 , 什么时间执行, 多久执行一次
案例二:
首先创建了一个job,这个是需要实现job接口
然后我这里创建了小demo
其中有些对象需要说明一下
对象 TriggerBuilder 启动任务时间
startNow 立即启动
startAt (Date) 指定时间启动
对象 SimpleScheduleBuilder 进行简单任务重复执行
repeatSecondly …() 多少秒后重复执行
repeatminutely …() 多少分钟后重复执行
repeatHourly …() 多少小时后重复执行
以上是关于quartz的框架特征的主要内容,如果未能解决你的问题,请参考以下文章