我在任何地方都找不到此信息。我有两个队列,@JmsListener(destination = "p1")
,@JmsListener(destination = "p2")
。如何确保即使我正在侦听2个队列,一次也只能处理1条消息,以及如何配置对首先从中获取消息的队列的轮询,即在处理了要轮询的消息之后首先p1
。或进行加权轮询:p1
:90%,p2
:10%。等等
我基本上是在问如何为Spring
实施消息的优先级处理。我使用的是SQS
,它不支持优先级。
答案 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
JmsTemplate
或receive()
方法之一,而不是消息驱动模型。
如果要确保没有消息丢失,请使用事务。