Quertz是一个开源的作业任务调度框架,他可以完成像JavaScript定时器类式的功能,其实Java中Timer也可实现部分功能,但相比Quertz还是略逊一筹,本人这次需要解决的就是定期统计消费记录的功能。你还可以用他完成定期执行各类操作的功能。比如
-
- 想每月25号,信用卡自动还款
- 想每年4月1日自己给当年暗恋女神发一封匿名贺卡
- 想每隔1小时,备份一下自己的学习笔记到云盘
这些问题总结起来就是:
在某一个有规律的时间点干某件事。并且时间的触发的条件可以非常复杂(比如每月最后一个工作日的17:50),复杂到需要一个专门的框架来干这个事。
Quartz就是来干这样的事,你给它一个触发条件的定义,它负责到了时间点,触发相应的Job起来干活。
二:使用方法(主要是Spring整合使用)
采用Spring整合Quartz使用代码方式或者xml方式都可以,我这里也提供两种方式,名称相同适合对比学习。
代码方式
1:引入配置,pom.xml文件引入下列两个路径(非Maven可自行配置)
Pom.xml2:创建【com.xqc.campusshop.config.quartz】包进行相关配置
(我知道大家不喜欢看源码,但是我还是得说看源码效果好)源码中
productSellDailyService为定期统计消费记录Service接口
dailyCalculate 为ProductSellDailyService接口中执行定期统计的的方法,
triggerFactory.setCronExpression("? 0 0 * * ? *");为定时的时间,可访问在线cron表达式生成器生成相应时间
