代码之家  ›  专栏  ›  技术社区  ›  Deepak S

使用java从单个rabbit MQ队列检索多个消息[closed]

  •  -1
  • Deepak S  · 技术社区  · 6 年前

    我知道我们可以使用 basic.get() basic.consume() 但不知道如何使用它并获取队列中的消息。有人能帮我吗。

    我不熟悉rabbit mq。

    1 回复  |  直到 6 年前
        1
  •  1
  •   Gabriele Santomaggio    6 年前

    检索消息的最佳方法是使用 basic.consume() ,这里有几个例子。

    但我建议从这里开始: https://www.rabbitmq.com/tutorials/tutorial-one-java.html

    这是使用 basic.consume :

        String QUEUE_NAME= "hello"
        ConnectionFactory factory = new ConnectionFactory();
        factory.setHost("localhost");
        Connection connection = factory.newConnection();
        Channel channel = connection.createChannel();
    
        channel.queueDeclare(QUEUE_NAME, false, false, false, null);
        System.out.println(" [*] Waiting for messages. To exit press CTRL+C");
        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);