默认情况下,Spring Web Flux 使用单线程事件循环 netty。如何配置 spring boot 以便为每个核心创建一个线程。

谢谢,

洛克什

请您参考如下方法:

Spring Boot reference documentation 中所述,您可以使用 NettyServerCustomizer 自定义 Reactor Netty Web 服务器.

这是 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))); 
    } 
} 


评论关闭
IT干货网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!