-
Notifications
You must be signed in to change notification settings - Fork 38k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
DefaultMessageListenerContainer should be able to scale down using default config #32260
Comments
The Configured with an external We may revisit this in 6.2 - however, from where we stand right now, it would primarily be documentation and guidance. |
Thank you very much for clarifying! I hadn't consider the implications on thread management. Maybe another solution would be to configure a Alternatively, would you consider amending the I still feel that constant polling (massively parallel on an empty queue) in the interest of saving on later thread creation is a bad trade off by default. |
On review along with #32252, there is actually an argument for scaling down in the default setup in particular with virtual threads. Since thread creation is cheap there, this would even work with a default The So it looks like we'll actually revisit default scaling there in 6.2. |
I've revised The default limit of our revised So all in all, most scenarios remain the same, with no change in defaults or semantics: that's the case for an externally specified thread pool with any concurrency boundaries, as well as for the default executor with a default concurrency level of 1. Just in case of dynamic concurrency boundaries ( |
Affects: 5.3.31
DefaultMessageListenerContainer.AsyncMessageListenerInvoker.executeOngoingLoop()
Find a sample here: https://github.com/apinske/playground-mq/tree/scaling
see also: spring-projects/spring-boot#39533
The text was updated successfully, but these errors were encountered: