在跟随之后
https://www.rabbitmq.com/tutorials/tutorial-two-java.html
我宣布队列为:

//first true is for durable so it should survive restart
channel.queueDeclare(queName, true, false, false, null);


我写到队列的方式如下(如果有所不同):

channel.basicPublish("", queName, null, string.getBytes());


但是如果我重新启动服务器,所有数据将被删除。

如何在rabbitMQ中声明一个队列,该队列将在服务器重新启动时保留数据?

最佳答案

好,那是愚蠢的错误

我变了 :

channel.basicPublish("", queName, null, string.getBytes());


至 :

channel.basicPublish("", queName, MessageProperties.PERSISTENT_TEXT_PLAIN, string.getBytes());


现在它可以按预期工作了。

10-07 16:39