
1、1 Ack简介: 确认。 表示消费端收到消息后的确认方式。 有三种确认方式: 自动确认:acknowledge="none" 手动确认:acknowledge="manual" 根据异常情况确认:acknowledge="auto"
2、1 设置消费者的Ack为手动处理
listener:
simple:
acknowledge-mode: manual
2、2 监听类:
@Component
public class RmListener {
@RabbitListener(queues = "springboot_topic_queue")
public void TopicQueueListener(Message msg,Channel channel) throws Exception {
long deliveryTag = msg.getMessageProperties().getDeliveryTag();
try {
Thread.sleep(2000);
// 1、接受转换的消息
System.out.println(new String(msg.getBody()));
// 2、业务逻辑处理
// 手动异常
// int i = 3 / 0;
System.out.println("业务逻辑处理中-------------");
// 3、手动签收
channel.basicAck(deliveryTag,true);
} catch (Exception e) {
// 4、接受失败策略
channel.basicNack(deliveryTag,true,true);
}
}
}
项目代码链接:https://github.com/Mbm7280/rabbitmq_demo
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)