Uploaded image for project: 'Red Hat Fuse'
  1. Red Hat Fuse
  2. ENTESB-3043

activemq queue maxConcurrentConsumers does not scale down.

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • Major
    • None
    • jboss-fuse-6.1
    • ActiveMQ, Camel
    • None
    • % %
    • Hide
      • Start AMQ broker 6.1.0 and then send some messages to "FOO.BAR" queue as following:
      java -jar extras/mq-client.jar producer --size 52 --user admin --password admin  --destination FOO.BAR --count 410 --brokerUrl tcp://localhost:61616
      
      Show
      Start AMQ broker 6.1.0 and then send some messages to "FOO.BAR" queue as following: java -jar extras/mq-client.jar producer --size 52 --user admin --password admin --destination FOO.BAR --count 410 --brokerUrl tcp: //localhost:61616

    Description

      Version: ActiveMQ 5.9.0.redhat-610379

      maxConcurrentConsumers = 12
      concurrentConsumers = 4

      Set in the srping config.

      <?xml version="1.0" encoding="UTF-8"?>
      <beans xmlns="http://www.springframework.org/schema/beans"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xmlns:camel="http://camel.apache.org/schema/spring"
             xsi:schemaLocation="
             http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
             http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd">
      
           <!-- lets configure the Camel ActiveMQ to use the embedded ActiveMQ broker declared above -->
           <bean id="amq" class="org.apache.activemq.camel.component.ActiveMQComponent">
              <property name="brokerURL" value="tcp://localhost:61616?jms.prefetchPolicy.all=1"/>
              <property name="userName" value="admin"/>
              <property name="password" value="admin"/>
              <property name="concurrentConsumers" value="4"/>
              <property name="maxConcurrentConsumers" value="12" />
              <property name="requestTimeoutCheckerInterval" value="1000" />
              <property name="requestTimeout" value="10000" />
          </bean>
      
          <camel:camelContext xmlns="http://camel.apache.org/schema/spring">
            <camel:route>
              <camel:from uri="amq:queue:FOO.BAR" />
              <camel:setBody>
                  <camel:simple>Hello from Camel route</camel:simple>
              </camel:setBody>
              <camel:log message="Received payload2: ${body}"/>
            </camel:route>
          </camel:camelContext>
      
      </beans>
      
      • When the consumers are started 4 are displayed correctly via jmx and the web console. 100 messages are sent and the consumers scale up to 12 as expected. However, when there are zero messages left the consumer count never goes down. However this still displays 12 consumers when it should be four. Why is it still showing 12 connected?

      Attachments

        Activity

          People

            janstey@redhat.com Jonathan Anstey
            jaysensharma Jay SenSharma (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            7 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: