【发布时间】:2015-12-19 14:14:09
【问题描述】:
我正在编写一个小应用程序,我在其中使用 RabbitMQ 发送/接收消息。一切正常,但我正在努力解决消息持久性问题。
即使在服务器重新启动时,我也希望消息保留在队列中。我了解交换和队列级别的持久性概念,并将它们设置为 true(而不是默认为 true)。因此,当我重新启动 RabbitMQ 服务器时,exchange 和 Queue 保持不变,但队列中的消息被删除。
我正在使用 EasyNetQ.IBus 接口发送消息。
谢谢
【问题讨论】:
-
你能显示一些代码吗?比如你在哪里设置你的频道/队列等等。
-
您是否使用 delivery_mode 消息属性使消息本身持久化?
-
@Evk:我想弄清楚,我在哪里设置delivery_mode。我已经读过它,但无法弄清楚在哪里/如何做
-
@Jay 我看到除非您在连接字符串中明确设置“persistentMessages=false”,否则默认情况下应该为 true,并且应该使用正确的 delivery_mode (=2)。因此,我们需要您提供更多信息。