我正在以这种方式从RabbitMQ(java客户端)读取数据。
while(true)
{
QueueingConsumer.Delivery delivery = consumer.nextDelivery();
String message = new String(delivery.getBody());
System.out.println(message);
}
我可以在没有while循环的情况下读取队列中的所有数据吗?
答案 0 :(得分:0)
您是否阅读过the tutorials on the RabbitMQ website?
这看起来像消费消息的基本java代码:
Consumer consumer = new DefaultConsumer(channel) {
@Override
public void handleDelivery(String consumerTag, Envelope envelope, AMQP.BasicProperties properties, byte[] body)
throws IOException {
String message = new String(body, "UTF-8");
System.out.println(" [x] Received '" + message + "'");
}
};
channel.basicConsume(QUEUE_NAME, true, consumer);
这应该将所有消息发送给指定的消费者。