消息应答/消息持久化

2019-04-07  本文已影响0人  寂静的春天1988

消息应答
//自动应答改成false
channel.basicConsume("queue3", false, consumer);
autoAck(第二个参数)这个形参设置为true时是自动确认模式,一旦将消息分发给消费者那么消息就会从内存中删除!
这种情况下,如果消费者挂掉,那么也会丢失一个消息。
设置false那么是手动确认模式,消费者处理完毕后,发送一个消息应答,rabbitMQ就会删除内存中的消息,这样如果消费者挂了,那么该消息不会丢失,而是交给其他消费者。
消息应答默认是false手动确认模式。

消息持久化
现在假如说我们的rabbitMQ挂了,那么rabbitMQ中的消息全会丢失。
发现把第二个参数durable改成true运行程序会报错,因为已经定义了一个queue1的队列,是不允许重新定义的!
channel.queueDeclare("queue1", false, false, false, null);

上一篇 下一篇

猜你喜欢

热点阅读