【问题标题】:How to add a ChannelInitializer to TcpServer in reactor netty如何在 reactor netty 中将 ChannelInitializer 添加到 TcpServer
【发布时间】:2020-11-03 11:43:49
【问题描述】:

我有一个 NettyServerCustomizer 下一个代码:

@Override
    public HttpServer apply(final HttpServer httpServer) {
        return httpServer.tcpConfiguration(tcpServer -> tcpServer
            .bootstrap(serverBootstrap -> serverBootstrap
                .childHandler(new ChannelInitializer<SocketChannel>() {
                    @Override
                    public void initChannel(final SocketChannel ch) throws Exception {
                        final ChannelPipeline p = ch.pipeline();
                        p.addFirst(new MyCustomChannelInboundHandlerAdapter());
                    }
                })));
    }

但 reactor-netty 已弃用方法 bootstrap 自版本 0.9.10 以来,此 PR:https://github.com/reactor/reactor-netty/pull/1175

如何使用新 API 获得相同的行为?

【问题讨论】:

    标签: reactor-netty


    【解决方案1】:

    这已被弃用,因为在 Reactor Netty 1.0.0 中,BootstrapServerBootstrap 不再使用。 https://github.com/reactor/reactor-netty/releases/tag/v1.0.0 在 0.9.x 中没有替代此特定用例的方法。在 1.0.0 中,替换为 doOnChannelInit 如果您的构建限制使用已弃用的 API,请打开功能请求,我们将尝试从 1.0.0 版本向后移植 API。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-09-30
      • 2020-01-07
      • 2015-03-27
      • 2021-05-01
      • 1970-01-01
      • 1970-01-01
      • 2019-03-18
      • 1970-01-01
      相关资源
      最近更新 更多