Yes.
Declare an external listener container and inject it into the adapter...
Code:
<int-amqp:inbound-channel-adapter channel="fromRabbit"
listener-container="listener.container" />
<bean id="listenerContainer" class="org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer">
<property name="channelTransacted" value="false" />
<property name="concurrentConsumers" value="2" />
<property name="prefetchCount" value="1" />
<property name="connectionFactory" ref="connectionFactory" />
<property name="acknowledgeMode" value="AUTO" />
<property name="queues" value="si.test.queue" />
<property name="autoStartup" value="true" />
</bean>
Get a reference to the SMLC, then execute stop(), change the consumers, and start()...
Code:
@Autowire private SimpleMessageListenerContainer container;
...
container.stop();
container.setConcurrentConsumers(newConsumers);
container.start();
Or, use a <control-bus/> and send "@listenerContainer.stop()" etc to it.