Запустите и остановите JMS Listener, используя Spring
Итак, вопрос в том, как временно остановить и запустить прослушиватель jms, созданный с помощью Spring, следующим образом:
<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"/>
Так что в принципе в чем проблема. У нас есть механизм init / update, который клиент может запустить в любое время, и во время этого init / update я хочу прекратить использовать ЛЮБЫЕ сообщения, потому что система не работает в это время, и если пришло сообщение, оно будет потеряно.
Итак, как я могу остановить слушатель или контейнер слушателя или все соединение, используя API. Я обнаружил, что класс AbstractJmsListeningContainer имеет stop / start, но как мне его получить? Я имею в виду, что ни один из этих jms: listener и listener-Containers не имеет имени или чего-то подобного.