首页 > 解决方案 > 当 Spring 中有多个 JMS 侦听器竞争处理资源时会发生什么?

问题描述

如果我有很多@JmsListener(destination = ...), 监听不同队列上的消息会发生什么。谁先听,我该如何控制这种行为。

标签: springjmsspring-jms

解决方案


您无法以任何有意义的方式控制精细级别的行为;工作由操作系统调度程序调度。

您可以通过启动/停止侦听器容器来总体控制行为 - 为侦听器提供一个id属性并通过JmsListenerEndpointRegistrybean 启动/停止容器。

但是您不能根据其他问题“控制消费” 。我建议在那里使用JmsTemplate


推荐阅读