【发布时间】:2015-04-24 07:49:23
【问题描述】:
在rabbitmq中使用example,消费者一次从队列中获取所有消息。如何消费一条消息并退出?
QueueingConsumer consumer = new QueueingConsumer(channel);
channel.basicConsume(QUEUE_NAME, true, consumer);
while (true) {
QueueingConsumer.Delivery delivery = consumer.nextDelivery();
String message = new String(delivery.getBody());
System.out.println(" [x] Received '" + message + "'");
}
【问题讨论】:
-
如果不使用循环,所有消息都会丢失,除了一个。
-
这不是你想要的吗?使用一条消息并退出。
-
QueueingConsumer.Delivery 交付 = consumer.nextDelivery();一次读取队列中的所有消息