RabbitMQ消息持久化

在某些特定场景中,队列中的数据十分重要,比如当客户需要确认支付时的验证码,这时候如果服务器突然出现了故障,那么队列中的消息必须存在,不能丢失.这种消息需要进行持久化处理.这也是RabbitMQ的一大特色,消息可靠性
消息持久化:在服务器出现故障后,消息依旧存在于队列之中.
一.queue的持久化

queue的持久化通过durable=true来实现,信道的第二个参数即durable

channel.queueDeclare(QUEUE_NAME,true,false,true,null);
二.消息的持久化

详细介绍请看 https://blog.csdn.net/u013256816/article/details/60875666

消息的持久化通过basicProperties实现,将其设置MessageProperties.PERSISTENT_TEXT_PLAIN

channel.basicPublish("",QUEUE_NAME, MessageProperties.PERSISTENT_TEXT_PLAIN,message.getBytes());
三.测试

首先进行队列信息的生产
在这里插入图片描述
在这里插入图片描述

进行RabbitMQ服务中断处理

在这里插入图片描述

再次启动RabbitMQ服务
在这里插入图片描述

再次查看队列消息
在这里插入图片描述

依旧存在,RabbitMQ的持久化处理机制,大大增强了数据的可靠性,在很多特定场景下,是必不可少.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值