RabbitMQ消息确认机制分为生产者和消费者确认,设置方式如下:
spring.rabbitmq.publisher-confirm-type=correlated。rabbitTemplate.setConfirmCallback()方法设置ConfirmCallback回调函数,处理消息是否成功到达交换机的确认逻辑。spring.rabbitmq.listener.simple.acknowledge-mode=manual来开启手动确认模式。channel.basicAck(deliveryTag, multiple)方法确认消息,deliveryTag是消息唯一标识,multiple表示是否批量确认。若要拒绝消息,可使用channel.basicNack(deliveryTag, multiple, requeue)或channel.basicReject(deliveryTag, requeue)方法,requeue参数决定是否将消息重新入队。