Retrieving mulitple messages from a single rabbit MQ queue using java [closed]









up vote
-1
down vote

favorite












I know we can get a single message from the queue using basic.get(). But I'm not able to retrieve all the messages (maybe 10) in the queue using that. I got some answers to use basic.consume() but not sure how to use it and fetch the messages in queue. can some one help me.



I am new to rabbit mq.










share|improve this question















closed as off-topic by theMayer, DaveyDaveDave, greg-449, chŝdk, Fildor Nov 13 at 15:25


This question appears to be off-topic. The users who voted to close gave this specific reason:


  • "Questions seeking debugging help ("why isn't this code working?") must include the desired behavior, a specific problem or error and the shortest code necessary to reproduce it in the question itself. Questions without a clear problem statement are not useful to other readers. See: How to create a Minimal, Complete, and Verifiable example." – theMayer, DaveyDaveDave, greg-449, chŝdk, Fildor
If this question can be reworded to fit the rules in the help center, please edit the question.












  • Please see the response from @Gabriele! Don't use basic.get! You should also read about QoS / Prefetch.
    – Luke Bakken
    Nov 12 at 10:01










  • @LukeBakken- there is nothing wrong with using basic.get- it is a pull vs push approach. Many people find a pull approach to match up better with their consuming logic.
    – theMayer
    Nov 13 at 13:37














up vote
-1
down vote

favorite












I know we can get a single message from the queue using basic.get(). But I'm not able to retrieve all the messages (maybe 10) in the queue using that. I got some answers to use basic.consume() but not sure how to use it and fetch the messages in queue. can some one help me.



I am new to rabbit mq.










share|improve this question















closed as off-topic by theMayer, DaveyDaveDave, greg-449, chŝdk, Fildor Nov 13 at 15:25


This question appears to be off-topic. The users who voted to close gave this specific reason:


  • "Questions seeking debugging help ("why isn't this code working?") must include the desired behavior, a specific problem or error and the shortest code necessary to reproduce it in the question itself. Questions without a clear problem statement are not useful to other readers. See: How to create a Minimal, Complete, and Verifiable example." – theMayer, DaveyDaveDave, greg-449, chŝdk, Fildor
If this question can be reworded to fit the rules in the help center, please edit the question.












  • Please see the response from @Gabriele! Don't use basic.get! You should also read about QoS / Prefetch.
    – Luke Bakken
    Nov 12 at 10:01










  • @LukeBakken- there is nothing wrong with using basic.get- it is a pull vs push approach. Many people find a pull approach to match up better with their consuming logic.
    – theMayer
    Nov 13 at 13:37












up vote
-1
down vote

favorite









up vote
-1
down vote

favorite











I know we can get a single message from the queue using basic.get(). But I'm not able to retrieve all the messages (maybe 10) in the queue using that. I got some answers to use basic.consume() but not sure how to use it and fetch the messages in queue. can some one help me.



I am new to rabbit mq.










share|improve this question















I know we can get a single message from the queue using basic.get(). But I'm not able to retrieve all the messages (maybe 10) in the queue using that. I got some answers to use basic.consume() but not sure how to use it and fetch the messages in queue. can some one help me.



I am new to rabbit mq.







java rabbitmq message-queue






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Nov 13 at 20:24









marc_s

569k12811001250




569k12811001250










asked Nov 12 at 2:53









Deepak S

46




46




closed as off-topic by theMayer, DaveyDaveDave, greg-449, chŝdk, Fildor Nov 13 at 15:25


This question appears to be off-topic. The users who voted to close gave this specific reason:


  • "Questions seeking debugging help ("why isn't this code working?") must include the desired behavior, a specific problem or error and the shortest code necessary to reproduce it in the question itself. Questions without a clear problem statement are not useful to other readers. See: How to create a Minimal, Complete, and Verifiable example." – theMayer, DaveyDaveDave, greg-449, chŝdk, Fildor
If this question can be reworded to fit the rules in the help center, please edit the question.




closed as off-topic by theMayer, DaveyDaveDave, greg-449, chŝdk, Fildor Nov 13 at 15:25


This question appears to be off-topic. The users who voted to close gave this specific reason:


  • "Questions seeking debugging help ("why isn't this code working?") must include the desired behavior, a specific problem or error and the shortest code necessary to reproduce it in the question itself. Questions without a clear problem statement are not useful to other readers. See: How to create a Minimal, Complete, and Verifiable example." – theMayer, DaveyDaveDave, greg-449, chŝdk, Fildor
If this question can be reworded to fit the rules in the help center, please edit the question.











  • Please see the response from @Gabriele! Don't use basic.get! You should also read about QoS / Prefetch.
    – Luke Bakken
    Nov 12 at 10:01










  • @LukeBakken- there is nothing wrong with using basic.get- it is a pull vs push approach. Many people find a pull approach to match up better with their consuming logic.
    – theMayer
    Nov 13 at 13:37
















  • Please see the response from @Gabriele! Don't use basic.get! You should also read about QoS / Prefetch.
    – Luke Bakken
    Nov 12 at 10:01










  • @LukeBakken- there is nothing wrong with using basic.get- it is a pull vs push approach. Many people find a pull approach to match up better with their consuming logic.
    – theMayer
    Nov 13 at 13:37















Please see the response from @Gabriele! Don't use basic.get! You should also read about QoS / Prefetch.
– Luke Bakken
Nov 12 at 10:01




Please see the response from @Gabriele! Don't use basic.get! You should also read about QoS / Prefetch.
– Luke Bakken
Nov 12 at 10:01












@LukeBakken- there is nothing wrong with using basic.get- it is a pull vs push approach. Many people find a pull approach to match up better with their consuming logic.
– theMayer
Nov 13 at 13:37




@LukeBakken- there is nothing wrong with using basic.get- it is a pull vs push approach. Many people find a pull approach to match up better with their consuming logic.
– theMayer
Nov 13 at 13:37












1 Answer
1






active

oldest

votes

















up vote
1
down vote













The best way to retrive messages is to use basic.consume(), there are several examples around.



But I suggest to start from here:
https://www.rabbitmq.com/tutorials/tutorial-one-java.html



This is the code to consume messages using 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);





share|improve this answer



























    1 Answer
    1






    active

    oldest

    votes








    1 Answer
    1






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes








    up vote
    1
    down vote













    The best way to retrive messages is to use basic.consume(), there are several examples around.



    But I suggest to start from here:
    https://www.rabbitmq.com/tutorials/tutorial-one-java.html



    This is the code to consume messages using 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);





    share|improve this answer
























      up vote
      1
      down vote













      The best way to retrive messages is to use basic.consume(), there are several examples around.



      But I suggest to start from here:
      https://www.rabbitmq.com/tutorials/tutorial-one-java.html



      This is the code to consume messages using 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);





      share|improve this answer






















        up vote
        1
        down vote










        up vote
        1
        down vote









        The best way to retrive messages is to use basic.consume(), there are several examples around.



        But I suggest to start from here:
        https://www.rabbitmq.com/tutorials/tutorial-one-java.html



        This is the code to consume messages using 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);





        share|improve this answer












        The best way to retrive messages is to use basic.consume(), there are several examples around.



        But I suggest to start from here:
        https://www.rabbitmq.com/tutorials/tutorial-one-java.html



        This is the code to consume messages using 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);






        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered Nov 12 at 7:45









        Gabriele

        14.4k42233




        14.4k42233













            這個網誌中的熱門文章

            What does pagestruct do in Eviews?

            Dutch intervention in Lombok and Karangasem

            Channel Islands