我的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()
设置为false,我也会在致电autoStartup
之前接收消息。jmsManagement.shutdown();
没有阻止听众被触发。有没有人知道如何停止这个MQ侦听器? 我有什么遗失的吗?
答案 0 :(得分:0)
我实际上必须将void modify(int y[], const int f[], const int size)
设置为 true 。
由于我无法使用autoStartup
执行此操作,因此我实例化了jms:listener-container
bean并将DefaultMessageListenerContainer
属性设置为 false 。
以下代码对我有用:
autoStartup