- 畅销套餐
- 精选套餐
- 人气套餐
- 尊享套餐
- 高薪套餐
电商微服务项目实战
SpringCloud常用组件详解
448人学习
¥19.90
2小时学习SpringBoot整合Vue+vuetify
368人学习
¥19.90
ElasticSearch站内搜索详细讲解
2498人学习
¥19.90
更 多 14 门 课 程
微服务快速入门实战之路
2小时快速上手Docker容器
2068人学习
¥19.90
2小时学习SpringBoot微服务架构思想
992人学习
¥19.90
10分钟学习SpringBoot整合Redis缓存-5分钟学习微服务代码生成器
268人学习
¥19.90
更 多 11 门 课 程
SpringBoot与MyBatisPlus深度实战课程
2小时学习SpringBoot微服务架构思想
992人学习
¥19.90
软件开发流程介绍_SpringBoot整合MybatisPlus
348人学习
¥19.90
2小时学习SpringBoot+MyBatisPlus实现分页和过滤器
226人学习
¥19.90
更 多 12 门 课 程
Java Web全栈工程师之路【买视频送书】
XML需知需会:Java、C#、Python多种语言解析XML文档
68018人学习
¥49.00
jQuery必知必会:老程序员手把手带您完成一个【MyNotes】Web前端项目
45169人学习
¥49.00
师傅带徒弟学Java Web:老程序员带您完成一个【网上商城】Web项目
133267人学习
¥268.00
更 多 9 门 课 程
Java Web全栈工程师之路【买视频送书】
XML需知需会:Java、C#、Python多种语言解析XML文档
68018人学习
¥49.00
jQuery必知必会:老程序员手把手带您完成一个【MyNotes】Web前端项目
45169人学习
¥49.00
师傅带徒弟学Java Web:老程序员带您完成一个【网上商城】Web项目
133267人学习
¥268.00
更 多 9 门 课 程
- 课程介绍
- 课程大纲
适合人群:
有此功能需求的同学, 可以把代码搬过去直接改成自己的需求使用即可
你将会学到:
如何正确使用RabbitMQ实现延迟消息队列,使用Redis的订阅发布模式
课程简介:
2)延迟任务概述
2.1)什么是延迟任务
定时任务:有固定周期的,有明确的触发时间
延迟队列:没有固定的开始时间,它常常是由一个事件触发的,而在这个事件触发之后的一段时间内触发另一个事件,任务可以立即执行,也可以延迟
场景一:订单下单之后30分钟后,如果用户没有付钱,则系统自动取消订单;如果期间下单成功,任务取消
场景二:接口对接出现网络问题,1分钟后重试,如果失败,2分钟重试,直到出现阈值终止
2.2.1)DelayQueue
JDK自带DelayQueue 是一个支持延时获取元素的阻塞队列, 内部采用优先队列 PriorityQueue 存储元素,同时元素必须实现 Delayed 接口;在创建元素时可以指定多久才可以从队列中获取当前元素,只有在延迟期满时才能从队列中提取元素
DelayQueue属于排序队列,它的特殊之处在于队列的元素必须实现Delayed接口,该接口需要实现compareTo和getDelay方法
getDelay方法:获取元素在队列中的剩余时间,只有当剩余时间为0时元素才可以出队列。
compareTo方法:用于排序,确定元素出队列的顺序。
展开更多
课程大纲-延迟队列精准发布文章-redis实现延迟任务
“涛哥”老师的其他课程更多+