0
的顺序如果我有一个春天启动应用程序超过一个@JmsListener
方法是有办法明确声明或者听者消耗从它的队列前,其他所有的消息?配置JmsListener执行
换句话说,如果我有
@JmsListener(destination = "queueOne")
public void processOrder1(String message) {. . .}
@JmsListener(destination = "queueTwo")
public void processOrder2(String message) {. . .}
是配置有可有processOrder1()
运行完,关闭它,然后有processOrder2()
运行?或者processOrder2()
总是在processOrder1()
之后执行(这是调试器的建议)?或者他们以某种方式分别独立运行?
如果他们不能在这样的,我想知道为什么没有办法进行配置。
我采用了侦听器所在队列的初始队列深度,并为每个进入的消息递减该值。因此理想情况下,当计数为零时,正在处理的消息必须是最后一个。我如何确定关闭我的单个JmsListener。但有一个要求,我需要更多的队列。 –
所以,从理论上讲,当我知道一个特定JmsListener结束后,我可以调用停止的那一个,然后基本上开始下一个,我想运行?虽然我在挖掘spring文档时可能错过了异步位......这也可能对我有利 –