控制多个JMS队列的使用

时间:2019-12-11 00:38:06

标签: spring spring-jms

我在任何地方都找不到此信息。我有两个队列,@JmsListener(destination = "p1")@JmsListener(destination = "p2")。如何确保即使我正在侦听2个队列,一次也只能处理1条消息,以及如何配置对首先从中获取消息的队列的轮询,即在处理了要轮询的消息之后首先p1。或进行加权轮询:p1:90%,p2:10%。等等

我基本上是在问如何为Spring实施消息的优先级处理。我使用的是SQS,它不支持优先级。

1 个答案:

答案 0 :(得分:0)

使用 Result 1: B,A,A 2: A,B 3: A,B,A,A,A 4: A,B 5: A,B,A,A,A --- 1999996: A,B 1999997: A,B,A,A,A 1999998: A,B 1999999: A,B,A,A,A 2000000: A,B JmsTemplatereceive()方法之一,而不是消息驱动模型。

如果要确保没有消息丢失,请使用事务。