I have a basic configuration of the DefaultMessageListenerContainer (Spring 3.0.x), for an ActiveMQ jms queue.
When the load on the queue increases, I see additional consumers being started, so that works.
<bean id="Agent-jms" class="org.springframework.jms.listener.DefaultMessageListenerContainer">
<property name="connectionFactory" ref="jmsFactory" />
<property name="destination" ref="agentServiceQueue" />
<property name="messageSelector" value="JMSCorrelationID is null" />
<constructor-arg ref="agentService.jmsListener" />
<property name="errorHandler" ref="agentService.jmsListener" />
<property name="maxConcurrentConsumers" value="100" />
However, when the queue is empty again, all consumers stay alive, none of them quit.
I would expect, based on the api docs and on Bruce Snyders excellent explanations  that idleTaskExecutionLimit which defaults to 1, would have all consumers quit after 1 timed out poll.
See attached image  for a graph on the number of consumers by queue (the sudden drop around 'thu 12:00' is from the container restarting).
The number of consumers only rises, it never decreases...
Is there something I overlooked?
With kind regards,