Rabbitmq-Server开始在耐用的队列上丢失数据



在Windows上,当我使用rabbitmq-server start/stop命令时,删除了RabbitMQ耐用队列的数据。当我启动RabbitMQ服务器时,似乎已重新创建了队列。

如果我使用rabbitmqctl stop_app/start_app,我不会丢失任何数据。为什么?

如果我的服务器下降会发生什么,我该如何确定我不会丢失数据?

配置问题:我是从RabbitMQ SBIN目录启动RabbitMQ。我重新安装了RabbitMQ,并将RabbitMQ添加到Windows服务中。现在,我的计算机上解决了数据丢失问题。当我启动/停止Windows服务时,RabbitMQ不会丢失任何数据

使队列耐用是不够的。也许您还需要将Exchange声明为耐用并发送"持久"消息。

在Java中,您将使用:

channel.basicPublish("", "sample_queue",
        MessageProperties.PERSISTENT_TEXT_PLAIN, // note that this parameter is not null!
        message.getBytes())

最新更新