Iniciar e parar o ouvinte JMS usando o Spring

Então, a questão é como parar temporariamente e iniciar um ouvinte jms criado usando a primavera usando a seguinte maneira:

<amq:connectionFactory id="exampleJmsFactory" brokerURL="tcp://${jms.broker.url}" />

<jms:listener-container concurrency="1" connection-factory="exampleJmsFactory"  destination-type="queue" message-converter="exampleMessageConverter">
        <jms:listener destination="incoming.example.client.queue" ref="exampleProductsMessageConsumer" method="consume"/>
</jms:listener-container>


<bean id="exampleProductsMessageConsumer" class="com.unic.example.jms.receive.JmsExampleProductsMessageConsumer" scope="tenant"/>

Então, basicamente, qual é o problema. Nós temos um mecanismo init / update que o cliente pode rodar a qualquer momento e durante este init / update eu quero parar de consumir qualquer mensagem porque o sistema está inutilizável neste momento e se uma mensagem chegar ele será perdido.

Então, como posso parar o ouvinte ou o contêiner do listener ou toda a conexão usando a API. Descobri que uma classe AbstractJmsListeningContainer tem stop / start mas como posso obtê-lo? Quero dizer nenhum desses jms: listener e listener-containers têm um nome ou algo assim.

questionAnswers(3)

yourAnswerToTheQuestion