本次学习内容
1、Quartz简介及应用场景
2、Quartz简单触发器 SimpleTrigger介绍
3、Quartz表达式触发器CronTirgger介绍
4、Quartz中参数传递
5、Spring task Vs Quartz
Quartz简介及应用场景
1.任务调度框架“Quartz”是OpenSymphony开源组织在Job scheduling领域又一个开源项目,是完全由java开发的一个开源的任务日程管理系统,
2.“任务进度管理器”就是一个在预先确定(被纳入日程)的时间到达时,负责执行(或者通知)其他软件组件的系统。
3.简单来说就是实现“计划(或定时)任务”的系统,例如:订单下单后未付款,15分钟后自动撤消订单,并自动解锁锁定的商品
4.各种企业应用几乎都会碰到任务调度的需求,就拿论坛来说:每隔半个小时生成精华文章的RSS文件,每天凌晨统计论坛用户的积分排名,每隔30分钟执行锁定 用户解锁任务。对于一个典型的MIS系统来说,在每月1号凌晨统计上个月各部门的业务数据生成月报表,每半个小时查询用户是否已经有快到期的待处理业 务……,这样的例子俯拾皆是,不胜枚举。
5.Quartz 在开源任务调度框架中的翘首,它提供了强大任务调度机制,难能可贵的是它同时保持了使用的简单性。Quartz 允许开发人员灵活地定义触发器的调度时间表,并可以对触发器和任务进行关联映射。此外,Quartz提供了调度运行环境的持久化机制,可以保存并恢复调度 现场,即使系统因故障关闭,任务调度现场数据并不会丢失。此外,Quartz还提供了组件式的侦听器、各种插件、线程池等功能。
quartz的应用场景大致分为两类
定时定点完成某一操作(数据库操作)
遵循某一规律,循环执行某一操作(每小时每分钟到点执行某段代码)
送快递 这个案例也是很经典的一个案例
假设 一个县 一天 1000份订单
一个市 一天1w份订单
一个省份 一天10w份订单
全国 一天340w份订单
一天就有340W订单 那么在做查询或者其他的时候就需要从340W订单里面查
这个时候就可以用到我们的Quartz了
订单表 340w份订单 订单历史表
将发生在半个小时后的订单 全部转为订单历史表
那么只需要从几万条数据中查询 肯定比340w好找很多
查看订单是否付款成功
查看物流状态
如果现在我要建一张一模一样的订单历史表 还只要钱30条数据 可以这么建