Skip to content
Discussion options

You must be logged in to vote

TL;DR: maxConcurrentMessages = per-container, per-queue in-flight permits (not threads). Your overall parallelism is likely capped by the shared SqsAsyncClient's Netty maxConcurrency unless you increase it or give each container its own client.
Spring Documentation

What maxConcurrentMessages really does

In Spring Cloud AWS SQS v3, maxConcurrentMessages is the cap on in-flight messages per container per queue. It is not a thread count and doesn't guarantee you'll see the same number of active threads in a shared ThreadPoolTaskExecutor. The reference explains it as "the maximum number of messages being processed by the container at a given time," enforced per queue, and notes why observed i…

Replies: 2 comments 1 reply

Comment options

You must be logged in to vote
0 replies
Comment options

You must be logged in to vote
1 reply
@otbe
Comment options

Answer selected by otbe
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Category
Q&A
Labels
None yet
3 participants