在direct模式下,com.rabbitmq使用DefaultConsumer 消费者,在mq控制台的中queues中消费者消费一次后,就消失了。
原因是
不要在DefaultConsumer 的handleDelivery()方法中,
使用channel.basicAck(queueName, tag)方法手动确认;
让其自动确认消费者就不会消失
pom使用如下:
com.rabbitmq amqp-client5.9.0
如果不是我上面的情况,其他情况还可以参考知乎这个文章
RabbitMQ问题排查一:消费者下线 - 知乎背景我们封装了一个RabbitMQ的客户端访问组件,通过统一的对外接口,内部封装了AMQPClient包, 但对于外面调用者来说,是看不见的,方便后面替换底层的实现而不用改动业务的代码。 产品集成后,验证没有问题,在测…https://zhuanlan.zhihu.com/p/384461349



