如何确保消息不丢失?
消息持久化,当然前提是队列必须持久化
RabbitMQ 确保持久性消息能从服务器重启中恢复的方式是,将它们写入磁盘上
的一个持久化日志文件,当发布一条持久性消息到持久交换器上时,Rabbit 会在
消息提交到日志文件后才发送响应。
一旦消费者从持久队列中消费了一条持久化消息,RabbitMQ 会在持久化日志中
把这条消息标记为等待垃圾收集。如果持久化消息在被消费之前 RabbitMQ 重启,
那么 Rabbit 会自动重建交换器和队列(以及绑定),并重新发布持久化日志文件
中的消息到合适的队列。
Java Program!