企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
> 消息在未消费前存在队列中,所以消息想要持久化,队列首先要持久化 1. RabbitMQ持久化机制分为**队列持久化**、**消息持久化**、**交换器持久化**。不管是持久化的消息还是非持久化的消息都可以被写入到磁盘。 2. 如果队列持久化,消息没有持久化,重启rabbitmq服务后,队列存在,但是队列里的消息都会消失 3. 只有持久化队列和消息,重启后消息才不会丢失,当有消费者时消息可以被正常消费 4. 如果有交换机,交换机也需要持久化 # 1. 交换机持久化 ~~~java @Bean public DirectExchange rabbitmqDemoDirectExchange() { //Direct交换机 return new DirectExchange(RabbitMQConfig.RABBITMQ_DEMO_DIRECT_EXCHANGE, true, false); } ~~~ # 2. 队列持久化 ~~~java @Bean public Queue fanoutExchangeQueueA() { //只需要指定名称,默认是持久化的 return new Queue(RabbitMQConfig.FANOUT_EXCHANGE_QUEUE_TOPIC_A); } ~~~