While using Spring 5 reactive webflux with Spring boot 2.0, what's the default number of threads used to handle requests? How can I configure the number of threads used?
Asked
Active
Viewed 1.6k times
2 Answers
11
The default number of threads for request handling is determined by the underlying web server; by default, Spring Boot 2.0 is using Reactor Netty, which is using Netty's defaults (check out the EventLoopGroup
documentation for that).
Spring Boot will soon allow you to customize that part (see #10418). In the meantime, you can provide your own ReactiveWebServerFactory
bean and change that through the HttpServer
configuration options (see this comment).

Brian Clozel
- 56,583
- 15
- 167
- 176
-
Currently I see `reactor-http-nio-1` in the logs, I use SpringBoot 2.0.0 M6. How can I configure netty to use all cores? – Shadowfax Nov 26 '17 at 04:21
8
Currently, it seems that Spring Webflux 2.0 does not provide the ability to control threads.
Spring Webflux 2.0 is using Reactor-Netty. And ReactorNetty
class provides some configurations.
- reactor.netty.ioWorkerCount
- reactor.netty.ioSelectCount
- reactor.netty.pool.maxConnections
- etc
So, You can use it like this.
System.setProperty("reactor.netty.ioWorkerCount", "100");
I hope that Spring Boot will provide a custom configuration.

Mohit Kanwar
- 2,962
- 7
- 39
- 59

Young Jae Kim
- 81
- 1
- 3