如何在spring boot 2中配置netty

Lok*_*a S 6 spring-boot reactor-netty spring-webflux

默认情况下,spring web flux使用netty,它是单线程事件循环.如何配置spring boot以便为每个核心创建一个线程.

谢谢,

LOKESH

Bri*_*zel 6

Spring Boot参考文档中所述,您可以使用来定制Reactor Netty Web服务器NettyServerCustomizer

这是Spring Boot 2.1的一个例子:

@Component
public class MyNettyWebServerCustomizer
        implements WebServerFactoryCustomizer<NettyReactiveWebServerFactory> {

    @Override
    public void customize(NettyReactiveWebServerFactory factory) {
        factory.addServerCustomizers(new EventLoopNettyCustomizer());
    }
}

class EventLoopNettyCustomizer implements NettyServerCustomizer {

    @Override
    public HttpServer apply(HttpServer httpServer) {
        EventLoopGroup eventLoopGroup = //...;
        return httpServer.tcpConfiguration(tcpServer ->
                tcpServer.bootstrap(serverBootstrap
                        -> serverBootstrap.group(eventLoopGroup)));
    }
}
Run Code Online (Sandbox Code Playgroud)

  • 当然。我先在这里发布。由于我没有得到任何回应,所以提出了一个问题。 (2认同)