RabbitMQ的消息队列的持久化是一个很不错的功能,设置也非常简单。如下代码:
1、设置队列持久化(在声明队列的时候设置)
channel.QueueDeclare(queue: "q.log.error",//队列名称
durable: true,//当前队列是否持久化 true:是 false:不是
exclusive: false,
autoDelete: false,
arguments: null);
2、设置消息持久化(发布消息的时候设置)
var body = Encoding.UTF8.GetBytes("测试消息");
var properties = channel.CreateBasicProperties();
//设置消息持久化
properties.SetPersistent(true);
channel.BasicPublish(exchange: "e.log",
routingKey: "log.error",
basicProperties: properties,
body: body);