I can't find this information anywhere. I have two queues, @JmsListener(destination = "p1")
, @JmsListener(destination = "p2")
. How can I make sure I only process 1 message at a time, even though I am listening to 2 queues, and also how do I configure the polling of what queue I get messages from first, that is after processing a message I want to poll p1
first. Or do weighted polling: p1
:90%, p2
:10%. Etc.
Basically I am asking how to implement priority processing of messages for Spring
. I'm using SQS
which doesn't support priorities.
Use one of the
JmsTemplate
receive()
orreceiveAndConvert()
methods instead of the message-driven model.Use transactions if you want to ensure no message loss.