首页 > 解决方案 > HttpServer tcpConfiguration 已弃用

问题描述

我搬到了 Spring 2.3.1.RELEASE 到 2.4.5。

HttpServer tcpConfiguration 新版本已弃用。如何使用 Spring boot 2.4.5 配置 NioEventLoopGroup。

    public NettyReactiveWebServerFactory factory(NioEventLoopGroup eventLoopGroup) {
        NettyReactiveWebServerFactory factory = new NettyReactiveWebServerFactory();
        factory.setServerCustomizers(Collections.singletonList(new NettyServerCustomizer() {
            @Override
            public HttpServer apply(HttpServer httpServer) {
                return httpServer.tcpConfiguration(tcpServer ->
                        tcpServer.bootstrap(serverBootstrap -> serverBootstrap.group(eventLoopGroup)
                                .channel(NioServerSocketChannel.class)));
            }
        }));
        return factory;
    }

标签: spring-bootnettyspring-webfluxreactor-netty

解决方案


您应该直接使用HttpServer#runOn API。上面的代码片段应该是这样的:

public NettyReactiveWebServerFactory factory(NioEventLoopGroup eventLoopGroup) {
    NettyReactiveWebServerFactory factory = new NettyReactiveWebServerFactory();
    factory.setServerCustomizers(Collections.singletonList(new NettyServerCustomizer() {
        @Override
        public HttpServer apply(HttpServer httpServer) {
            return httpServer.runOn(eventLoopGroup);
        }
    }));
    return factory;
}

推荐阅读