Springboot集成RabbitMq实现延时队列

延时队列
什么是延迟队列:用来存放需要在指定时间被处理的元素的队列,延迟队列中的元素都是带时间属性(TTL)的

什么是TTL ?
TTL是MQ中一个消息或者队列的属性,表明一条消息或者队列中所有消息或者队列的最大存活时间,单位是毫秒。如果一条消息设置了TTL属性,或者进入了设置TTL的队列,如果这条消息在TTL内的时间未被消费则该条消息则变成死信,如果配置了消息的TTL和队列的TTL则较小的那个值会被使用。

什么场景使用延迟队列 ?(如下)
1.订单在十分钟未支付则自动取消;
2.新创建的店铺如果十天内未上传过商品,则自动发送消息提醒;
3.账单在一周内未支付,则自动支付;
4.用户发起退款,如果三天内没有处理则通知相关人员;
5.预定会议后,需要在预定时间前10分钟,通知参会人员。

实战:
本次项目需求的业务场景,DD打卡app,员工打完上班卡满8小时15分钟后未打下班卡,发送一条消息提醒,提醒员工不要忘记打下班卡!
在这里插入图片描述
如何实现,如下:↓

1.第一步导入amqp依赖

猜你喜欢

转载自blog.csdn.net/weixin_44146379/article/details/111029432