RabbitMQ(004 过期时间以及死信)

动力节点RabbitMQ教程|12小时学会rabbitmq消息中间件

总时长 12:20:00 共65P

此文章包含第21p-第p30的内容


TTL 过期时间

-1代表永不过期
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

无人接收 并且过期的消息 被称为 : 死信

在这里插入图片描述

整个队列都设置过期时间

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

如果队列和单独消息都设置过期时间了 哪个时间短用哪个
在这里插入图片描述

死信队列

在这里插入图片描述

例子:
一个人17:00提交订单购买火车票 ,30分钟如果未支付自动取消
这个可以用死信队列进行操作
发送消息到队列 30分钟后进入死信队列,去数据库查看是否付款 ,如果付款不操作,如果未付款 则将此订单状态改为超时未付款 
(其实进入死信基本就代表了未付款,谨慎处理 还是查一下数据库为妙 )

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

设置它的死信交换机 如果这个消息过期将通过死信交换机进行操作

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

设置死信路由key

在这里插入图片描述
在这里插入图片描述

如果是直连交换机
死信交换机和死信队列绑定的key 要和进入的key一样 否则会被扔掉
在这里插入图片描述

在这里插入图片描述

注意过期时间是数字类型,不是字符串

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
重点
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

20秒后变成下面的情况

在这里插入图片描述

消息过期

在这里插入图片描述

也可以用.deadLetterExchange()方法 建造者模式
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

切记别忘了把属性放进去 .andProperties
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
消息是以队列的形式存的
在这里插入图片描述

超过最大长度的死信

在这里插入图片描述

在这里插入图片描述
可以在界面上直接添加queue 我们用的是使用代码进行添加
在这里插入图片描述

设置最大长度为5

在这里插入图片描述

发送8条消息
在这里插入图片描述

队头的数据会变成死信 后面的会把前面的挤出去
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

开启消费者的手动确认 这样如果消费者数据库宕机了 也不会提前删除此消息

在这里插入图片描述
导入这个包getDeliveryTag 代表rabbitmq生成的唯一标识

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

这俩的区别:
basicNack: 一次可以处理多条消息
basicReject:一次只处理一条消息
在这里插入图片描述
配了死信队列 会进入死信队列里 如果没配置死信队列则直接删除


  • 10
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值