Uploaded image for project: 'ActiveMQ Classic'
  1. ActiveMQ Classic
  2. AMQ-3848

Messages Are Not Read With Multiple Consumers

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Minor
    • Resolution: Not A Problem
    • 5.2.0, 5.4.2, 5.5.1, 5.6.0
    • 5.7.0
    • Camel
    • None

    Description

      I am using Spring 3.1 and ActiveMQ 5.5.1 with Camel 2.9.0 although I can duplicate it with various different versions.

      I do the following:
      Put some messages on one queue (Queue2Queue.Inbound)
      Add a JMS header and put it on a new queue (Queue2Queue.Inbound.0)
      Read off the new queue with 20 threads
      Put them on a third queue (Queue2Queue.DLQ)

      Here is a snippet of the Camel setup.

        public void configure() throws Exception {
          String inboundQueue = "activemq:" + testProperties.getProperty(Queue2QueueCamelRunner.INBOUND_MQ_QUEUE);
          from(DIRECT_START)
            .to(inboundQueue)
            .process(headerEnricher)
            .to(inboundQueue + ".0");
      
          String processingQueue = inboundQueue + ".0?concurrentConsumers=20";
          from(processingQueue)
            .to("activemq:Queue2Queue.DLQ");
        }
      

      My attached test case puts 10, 100 and 1000 messages on the queue then counts them.
      The results I get are:
      10=10
      100=100
      1000!=1000

      When I run in the embedded ActiveMQ I often see 200 messages missing.
      When I run it on the deployed version I will see 1110 messages listed in the Web Console but only 867 when I drill down (or if I use a browser like HermesJMS).

      Attachments

        1. ActiveMQIssue.zip
          9 kB
          opticyclic

        Activity

          People

            davsclaus Claus Ibsen
            opticyclic opticyclic
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: