无法手动ACK,感觉都是自动直接就ACK了,而且NACK回复的消息监听不到
来源:2-13 Rabbitmq高级特性-消费端特性讲解_流控服务和ACK重回队列
qq_闲汪_0
2020-08-19 11:56:23
消费者 //生产上一般不会开启自动ACK,因为要保证消息的准确消费 channel.basicConsume(queueName, false, consumer); 生产者 channel.confirmSelect(); //添加publisher消息监听 channel.addConfirmListener(new ConfirmListener() { @Override public void handleAck(long deliveryTag, boolean multiple) throws IOException { //消息投递成功处理 System.out.println("【ACK confirm】deliveryTag:" + deliveryTag + ",multiple:" + multiple); } @Override public void handleNack(long deliveryTag, boolean multiple) throws IOException { //消息丢失处理 System.out.println("【NACK confirm】deliveryTag:" + deliveryTag + ",multiple:" + multiple); } }); channel.basicPublish(normalExchange, normalRoutingKey, true, properties, msg.getBytes());
1回答
qq_闲汪_0
提问者
2020-08-19
生产者的confirmListenter监听的是broker的ACK事件吧?消费者的basicACK是发送给broker的?好像生产者并不能接受到消费者的ACK回复。
相似问题