IT修真院_JAVA

定时任务 - Spring 整合 QuartZ

2017-12-20  本文已影响0人  画圈的鱼

大家好,我是IT修真院深圳分院第03期学员,一枚正直纯洁善良的程序员。今天给大家分享一下,修真院官网JAVA(职业)深度思考的扩展题目—— 定时任务

1.背景介绍

场景一:

天猫双11在3分01秒成交额就超过100亿,1小时49秒成交额超过571亿。这种实时统计产品销量的功能怎么实现?

场景二:

热门产品指定时间发售怎么实现?

以上两种场景都可以通过定时任务来实现,分别是按固定频率执行任务、按指定时间执行任务两种。

2.知识剖析

1.QuartZ的组成

2.cron表达式

结构:

Cron表达式由7个部分组成,各部分用空格隔开,例如

0 0 12 ? * WED(每星期三下午12:00 执行)

Cron表达式的7个部分从左到右代表的含义如下

Seconds Minutes Hours Day-of-Month Month Day-of-Week Year

其中Year是可选的

各部分可选值:

练习:

1)*/5 * * * * ?

2)0 */1 * * * ?

3)0 0 23 * * ?

4)0 0 1 ? * *

5)0 0 1 1 * ?

6)0 26,29,33 * * * ?

答案:

1)*/5 * * * * ?    每隔5秒执行一次

2)0 */1 * * * ?    每隔1分钟执行一次

3)0 0 23 * * ?    每天23点执行一次

4)0 0 1 ? * 1    每周日凌晨1点执行一次

5)0 0 1 1 * ?    每月1号凌晨1点执行一次

6)0 26,29,33 * * * ?    在26分、29分、33分执行一次

3.常见问题

Spring 如何整合 QuartZ?

4.解决方案

1)依赖:

spring-context-support.jar

spring-tx.jar

quartz.jar

注意:Spring 和 QuartZ 版本匹配问题

2)普通java类

配置JobDetail、Trigger 、Scheduler

5.代码实战

6.拓展思考

如何动态的修改一个定时任务的cron表达式?

7.参考文献

参考一:QuartZ Cron表达式详解http://www.jianshu.com/p/f03b1497122a

参考二:Spring 集成 QuartZ实例

http://blog.csdn.net/defonds/article/details/49496895

8.更多讨论


undefined_腾讯视频

PPT戳这里

今天的分享就到这里啦,欢迎大家点赞、转发、留言、拍砖~

技能树.IT修真院

“我们相信人人都可以成为一个工程师,现在开始,找个师兄,带你入门,掌控自己学习的节奏,学习的路上不再迷茫”。

这里是技能树.IT修真院,成千上万的师兄在这里找到了自己的学习路线,学习透明化,成长可见化,师兄1对1免费指导。快来与我一起学习吧。

上一篇 下一篇

猜你喜欢

热点阅读