spring-boot - 如何在spring boot 2中配置netty

标签 spring-boot spring-webflux reactor-netty

默认情况下,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)));
    }
}

关于spring-boot - 如何在spring boot 2中配置netty,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46567818/

相关文章:

vue.js - 如何将 RSocket 数据检索到不同的选项卡?

spring-boot - Spring Boot WebCLient 接受自签名证书,但不接受 InsecureTrustManagerFactory

java - 在 AWS lambda 中使用 Spring data jpa 部署 Spring boot

spring - 将环境变量传递给 DOCKER Spring Boot

java - 升级到 Spring 5.0.0.RELEASE - 无法实例化 hazelcast

spring-data - 使用 spring webflux-reactor 进行嵌套数据访问调用

java - Spring Cloud - 将服务绑定(bind)在一起

spring-boot - Spring Boot 数据 jpa 中的内连接

java - 添加编解码器以在 WebClient 中的请求中添加内容长度

spring-webflux - Spring webclient 是非阻塞客户端吗?