控制多个 JMS 队列的消耗
Control consumption of multiple JMS queues
我在任何地方都找不到此信息。我有两个队列,@JmsListener(destination = "p1")
、@JmsListener(destination = "p2")
。我怎样才能确保我一次只处理 1 条消息,即使我正在收听 2 个队列,以及如何配置轮询我首先从哪个队列获取消息,即在处理完我想轮询的消息之后p1
第一。或者进行加权轮询:p1
:90%,p2
:10%。等等
基本上我问的是如何为Spring
实现消息的优先级处理。我使用的 SQS
不支持优先级。
使用 JmsTemplate
receive()
或 receiveAndConvert()
方法之一,而不是消息驱动模型。
如果要确保不丢失消息,请使用事务。
我在任何地方都找不到此信息。我有两个队列,@JmsListener(destination = "p1")
、@JmsListener(destination = "p2")
。我怎样才能确保我一次只处理 1 条消息,即使我正在收听 2 个队列,以及如何配置轮询我首先从哪个队列获取消息,即在处理完我想轮询的消息之后p1
第一。或者进行加权轮询:p1
:90%,p2
:10%。等等
基本上我问的是如何为Spring
实现消息的优先级处理。我使用的 SQS
不支持优先级。
使用 JmsTemplate
receive()
或 receiveAndConvert()
方法之一,而不是消息驱动模型。
如果要确保不丢失消息,请使用事务。