RabbitMQ消息持久化在Spring AMQP中如何具体实现?
- 内容介绍
- 文章标签
- 相关推荐
本文共计962个文字,预计阅读时间需要4分钟。
前言:要从RabbitMQ中恢复消息,我们需要实现消息持久化。如果消息需要从RabbitMQ中恢复,那么必须满足以下三点,缺一不可。
1. 交换器必须是持久化的。
2.队列必须是持久化的。
3.消息必须是持久化的。
前言
要从奔溃的 RabbitMQ 中恢复的消息,我们需要做消息持久化。如果消息要从 RabbitMQ 奔溃中恢复,那么必须满足三点,且三者缺一不可。
- 交换器必须是持久化。
- 队列必须是持久化的。
- 消息必须是持久化的。
原生的实现方式
原生的 RabbitMQ 客户端需要完成三个步骤。
第一步,交换器的持久化。
// 参数1 exchange :交换器名 // 参数2 type :交换器类型 // 参数3 durable :是否持久化 channel.exchangeDeclare(EXCHANGE_NAME, "topic", true);
第二步,队列的持久化。
// 参数1 queue :队列名 // 参数2 durable :是否持久化 // 参数3 exclusive :仅创建者可以使用的私有队列,断开后自动删除 // 参数4 autoDelete : 当所有消费客户端连接断开后,是否自动删除队列 // 参数5 arguments channel.queueDeclare(QUEUE_NAME, true, false, false, null);
第三步,消息的持久化。
本文共计962个文字,预计阅读时间需要4分钟。
前言:要从RabbitMQ中恢复消息,我们需要实现消息持久化。如果消息需要从RabbitMQ中恢复,那么必须满足以下三点,缺一不可。
1. 交换器必须是持久化的。
2.队列必须是持久化的。
3.消息必须是持久化的。
前言
要从奔溃的 RabbitMQ 中恢复的消息,我们需要做消息持久化。如果消息要从 RabbitMQ 奔溃中恢复,那么必须满足三点,且三者缺一不可。
- 交换器必须是持久化。
- 队列必须是持久化的。
- 消息必须是持久化的。
原生的实现方式
原生的 RabbitMQ 客户端需要完成三个步骤。
第一步,交换器的持久化。
// 参数1 exchange :交换器名 // 参数2 type :交换器类型 // 参数3 durable :是否持久化 channel.exchangeDeclare(EXCHANGE_NAME, "topic", true);
第二步,队列的持久化。
// 参数1 queue :队列名 // 参数2 durable :是否持久化 // 参数3 exclusive :仅创建者可以使用的私有队列,断开后自动删除 // 参数4 autoDelete : 当所有消费客户端连接断开后,是否自动删除队列 // 参数5 arguments channel.queueDeclare(QUEUE_NAME, true, false, false, null);
第三步,消息的持久化。

