-
Notifications
You must be signed in to change notification settings - Fork 13

Description
Hi @JaidenAshmore ,
Great work on this library, it is very well done.
I was wondering if you have worked on any solutions for FIFO queues? Basically we would like to process all messages that were pulled in order, so the current concurrency does not work as it breaks the order of the messages.
For example:
@PrefetchingQueueListener(
value = "${sqs.queue}",
concurrencyLevelString = "10",
desiredMinPrefetchedMessages = 10,
maxPrefetchedMessages = 20)
public void processSQS(Message message, Acknowledge ack) {
This code, If I understood everything correctly, will grab 10 messages and distributes those 10 into the 10 concurrency threads, which would break the ordering.
Would it be possible to have something like:
@PrefetchingQueueListener(
value = "${sqs.queue}",
concurrencyLevelString = "10",
desiredMinPrefetchedMessages = 10,
maxPrefetchedMessages = 20)
public void processSQS(List<Message> messages, Acknowledge ack) {
So this would grab 10 messages from the queue and pass those on to be processed as a group, maintaining the order. Not sure how the Acknowledge would work on this case, if it should be per message or per batch.
Again, thank you for the great work.