1 自动确认
第二个参数就是自定确认:设置为true就表示自动确认
Consumer Acknowledgements and Publisher Confirms — RabbitMQ
channel.basicConsume(TASK_QUEUE_NAME, true, deliverCallback, consumerTag -> { });
2 手动确认
手动确认消息ack:默认情况下,手动消息确认已打开。在前面的示例中,我们通过autoAck = true 标志明确地将它们关闭,改为自动确认。 一旦我们完成任务,就应该将此标志设置为false并从工作人员发送正确的确认。
channel.basicAck(delivery.getEnvelope().getDeliveryTag(), false);
multiple第二个参数,true表示确认全部消息 x < deliverytag 的所有消息都会确认,false表示只确认当前这条消息
channel.basicRecover(); 补发 里面有个参数如果是true表示会发给不同的consumer消费者,false表示会发给同一个consumer
basic.ack用于肯定确认
basic.nack用于否定确认