Вот код, который работал для меня:
я есть следующая конфигурация для моего MQueue:
<jms:listener-container container-type="default" connection-factory="cachedConnectionFactory" acknowledge="auto">
<jms:listener id="myListenerId" destination="myDestination" ref="myListener" method="onMessage" />
</jms:listener-container>
Когда я пытаюсь остановить прием сообщений JMS, я пишу следующий код
jmsManagement = myProject.instance.getContext().getBean('myListenerId',Lifecycle.class);
jmsManagement.stop();
PS:
Когда яstop()
мой слушательisRunning()
вернуть False, но я все еще получаю сообщения через MQueue ...onMessage
срабатывает.jmsManagement
это экземпляр классаLifecycle
, Даже когда я изменил его наDefaultMessageListenerContainer
, то же самое.Я получаю сообщения перед звонкомstart()
, даже когдаautoStartup
установлено в false.jmsManagement.shutdown();
не остановил слушателя от срабатывания.У кого-нибудь есть идеи о том, как остановить этот слушатель MQ? Я что-то упускаю?