Java笔记-spring-rabbitmq中使用@RabbitListener消费(手动确认,获header数据)

手动确认时:

application.properties需要添加

spring.rabbitmq.listener.simple.acknowledge-mode=manual

确认ack

channel.basicAck(tag, false);

拒收发回rabbitmq

channel.basicReject(tag, true);

下面是整体代码

    @RabbitListener(queues = queueName)
    public void disposeSomething(@Header(AmqpHeaders.DELIVERY_TAG) long tag, @Header("key") String key, @Payload String msg, Channel channel){

        System.out.println("-------------------------------------");
        System.out.println(key);
        System.out.println(msg);
        try {
//            channel.basicAck(tag, false);
            channel.basicReject(tag, true);
        } catch (IOException e) {
            e.printStackTrace();
        }
        System.out.println("-------------------------------------");
    }

如果这里不停的拒收,再放回队列中,就会出现这样的现象:

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 数字20 设计师:CSDN官方博客 返回首页