如何控制Spring从队列接收的速率?
我正在使用Spring的消息驱动POJO框架(特别是DefaultMessageListenerContainer
)来侦听几个队列和主题。
Thread.sleep(..)
。我希望找到一种方法,在两次尝试接收之间使用DefaultMessageListenerContainer
进行等待,而不是让处理程序在想要处理消息的过程中进行等待。
我曾考虑过是否有ScheduledExecutor
会有帮助,但我意识到需要在产生任务的地方进行限制。是否有来自DefaultMessageListenerContainer
的方法可以重写以完成我想要的内容?
解决方案
根据队列的提供商,您可以为使用其队列的使用者设置最大速率。
例如,在hornetQ中,您在连接工厂中使用Consumer-max-rate设置此设置。
相关文章