任务调度 Quartz 学习(一) SimpleTrigger
概述:
在实际开发过程中,会遇到很多任务调度的需求。
比如说:某网站要在每周一上午9点更新网站数据,并发邮件通知用户;
再比如某论坛需求:每隔半个小时生成精华文章的RSS文件,每天凌晨统计论坛用户的积分排名,每隔30分钟执行锁定用户解锁任务。
这时就可以使用quartz来实现了。
几个重要的类:
●Job(接口)
public interface Job {
void execute(JobExecutionContext var1) throws JobExecutionException;
}
●JobDetail: 真正的任务内容,任务本身是集成Job接口的,但是真正的任务是JobBuilder通过反射的方式实例化的,
●Trigger: 触发器,定义任务应当开始的时间,主要分为两类SimpleTrigger,CronTrigger;CronTrigger主要用于处理quartz表达式定义的任务,比如每个月20号,每个星期一之类的。
●Scheduler:任务调度器, 计划执行者,现在我们有了要做的内容(jobdetail),有了要做的时间(trigger),接下来,就把这两个内容填充到计划任务Scheduler对象里面,到了时间它就可以自动运行了
Example:
public class MyJob implements Job{
@Override
public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
System.out.println("测试quartz"+new Date());
}
//SimpleTrigger
public static void simpleTrigger(){
//获得schedulerFactory用来产生scheduler对象
SchedulerFactory sf=new StdSchedulerFactory();
Scheduler sche=null;
//定义一个job,并绑定自己定义的MyJob类;利用反射实例化一个JobDetail类
JobDetail jobDetail= JobBuilder.newJob(MyJob.class).withIdentity("test_job1","group1").build();
//定义一个触发器
Trigger trigger= TriggerBuilder.newTrigger().withIdentity("trigger_1","group1")
.startNow()
.withSchedule(SimpleScheduleBuilder.simpleSchedule()
.withIntervalInSeconds(5) //重复间隔
.withRepeatCount(5)) //重复次数
.build();
try {
//利用schedulerFactory产生scheduler对象
sche=sf.getScheduler();
//将jobDetail和trigger放入scheduler
sche.scheduleJob(jobDetail,trigger);
sche.start();
} catch (SchedulerException e) {
e.printStackTrace();
}
finally{
try {
sche.shutdown(true); //关闭调度
} catch (SchedulerException e) {
e.printStackTrace();
}
}
}
}
任务调度 Quartz 学习(一) SimpleTrigger的更多相关文章
- 任务调度 Quartz 学习(二) CronTrigger
在Quartz中Trigger有 SimpleTrigger与CronTrigger两种: SimpleTrigger:当需要的是一次性的调度(仅是安排单独的任务在指定的时间及时执行),或者你需要在指 ...
- 任务调度 Quartz 学习(三) CronTrigger 表达式
CronTrigger CronTriggers往往比SimpleTrigger更有用,如果您需要基于日历的概念,而非SimpleTrigger完全指定的时间间隔,复发的发射工作的时间表. CronT ...
- Java任务调度开源框架quartz学习
一.quartz学习 Java框架介绍:Quartz从入门到进阶 http://edu.yesky.com/edupxpt/233/2209233.shtml 1.例子:http://javacraz ...
- Quartz学习笔记:基础知识
Quartz学习笔记:基础知识 引入Quartz 关于任务调度 关于任务调度,Java.util.Timer是最简单的一种实现任务调度的方法,简单的使用如下: import java.util.Tim ...
- Quartz学习——Spring和Quartz集成详解(三)
Spring是一个很优秀的框架,它无缝的集成了Quartz,简单方便的让企业级应用更好的使用Quartz进行任务的调度.下面就对Spring集成Quartz进行简单的介绍和示例讲解!和上一节 Quar ...
- Quartz学习-- quartz基本介绍和 Cron表达式
Quartz学习 一. Quartz 大致简介 Quartz 是完全由 java 开发的一个开源的任务日程管理系统 任务日程管理系统 换句话说就是: 一个预先确定的日程时间到达时,负责执行任务的 ...
- Quartz学习--二 Hello Quartz! 和源码分析
Quartz学习--二 Hello Quartz! 和源码分析 三. Hello Quartz! 我会跟着 第一章 6.2 的图来 进行同步代码编写 简单入门示例: 创建一个新的java普通工程 ...
- Quartz学习——SSMM(Spring+SpringMVC+Mybatis+Mysql)和Quartz集成详解(转)
通过前面的学习,你可能大致了解了Quartz,本篇博文为你打开学习SSMM+Quartz的旅程!欢迎上车,开始美好的旅程! 本篇是在SSM框架基础上进行的. 参考文章: 1.Quartz学习——Qua ...
- Quartz学习笔记:集群部署&高可用
Quartz学习笔记:集群部署&高可用 集群部署 一个Quartz集群中的每个节点是一个独立的Quartz应用,它又管理着其他的节点.这就意味着你必须对每个节点分别启动或停止.Quartz集群 ...
随机推荐
- [C++] OOP - Access Control and Class Scope
Access Control And Inheritance Protected Member Like private, protected members are unaccessible to ...
- svn升级(mac)
原文链接:http://www.jianshu.com/p/c81712ecccb8 升级前 svn版本1.7.20 升级之后 1.9.2 步骤: 1. 下载最新版svn,链接:http://www. ...
- Crawling is going on - Beta版本测试报告
[Crawling is going on - Beta版本] 测试报告 文件状态: [] 草稿 [√] 正式发布 [] 正在修改 报告编号: 当前版本: 2.0.2 编写人: 周萱.刘昊岩.居玉皓 ...
- JavaScript控制href属性进行钓鱼
前一阵子,发现JavaScript中允许临时改变<a>标签的href属性,当改变其属性后你点击它可能看不出有多严重,但是,它可以通过欺骗手段来诱骗用户透露他们的详细资料. // Uncom ...
- Swift-重写(Override)
子类可以为继承来的实例方法(instance method),类方法(class method),实例属性(instance property),或附属脚本(subscript)提供自己定制的实现(i ...
- ManagementObjectSearcher的使用
1.获取本地路径的网络访问地址 private IEnumerable<KeyValuePair<string, string>> GetShareFolders() { va ...
- ismember matlab
ismember 判断A中的元素在B中有没有出现 LIA = ismember(A,B) for arrays A and B returns an array of the same size as ...
- Give NetScaler a “Tune-Up”
Give NetScaler a “Tune-Up” https://www.citrix.com/blogs/2014/10/21/give-netscaler-a-tune-up/ To Opti ...
- NOIP2017 列队——平衡树
平衡树蒟蒻,敲了半天. 其实思路很简单,就是把许多个人合并成一个区间.必要的时候再拆开.(是不是和这个题的动态开点线段树有异曲同工之妙?) 每次操作最多多出来6个点. 理论上时间复杂度是nlogn,空 ...
- Eclipse配置web开发环境
eclipse的web配置: eclipse:Eclipse Java EE IDE for Web Developers. Version: Helios Service Release 1 下载地 ...