注:消息应答默认打开,默认为false
//消息应答设置
boolean autoAck = false;
channel.basicConsume(QUEUE_NAME, autoAck, consumer);
2.1、消息应答为自动应答
boolean autoAck = true;
自动应答模式
消费者接收到消息后,MQ就将消息从内存中删除。
坏处:
当消费者接收到消息后,消费者挂了,或者死机了。而消息也被MQ删除了,那么这个消息就丢失了。
boolean autoAck = false;
手动应答模式
消费者就收到消息后,处理完任务再进行手动应答。MQ得到应答后,再将消息从内存中删除。
好处:
当消费者挂了,MQ没有得到应答,那么消息将会再次发送给消费者,或者再次发送给另一个消费者进行处理。