在direct模式下,com.rabbitmq使用DefaultConsumer 消费者,在mq控制台的中queues中消费者消费一次后,就消失了。
原因是
不要在DefaultConsumer 的handleDelivery()方法中,
使用channel.basicAck(queueName, tag)方法手动确认;
让其自动确认消费者就不会消失
pom使用如下:
? <dependency>
? ? ? ? ? ? <groupId>com.rabbitmq</groupId>
? ? ? ? ? ? <artifactId>amqp-client</artifactId>
? ? ? ? ? ? <version>5.9.0</version>
? ? ? ? </dependency>
如果不是我上面的情况,其他情况还可以参考知乎这个文章