0

我正在以这种方式从 RabbitMQ(java 客户端)读取数据。

while(true)
        {
          QueueingConsumer.Delivery delivery = consumer.nextDelivery();
          String message = new String(delivery.getBody());

          System.out.println(message);

        }

我可以在没有while循环的情况下读取队列中的所有数据吗?

4

1 回答 1

0

你读过RabbitMQ 网站上的教程吗?

这看起来像消费消息的基本 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);

这应该将所有消息发送给指定的消费者。

于 2015-09-02T13:54:04.607 回答