如何在 reactor netty 中将 ChannelInitializer 添加到 TcpServer
How to add a ChannelInitializer to TcpServer in reactor netty
我有一个 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 从版本 0.9.10 开始通过这个 PR 弃用了方法 bootstrap
:https://github.com/reactor/reactor-netty/pull/1175.
如何使用新 API 获得相同的行为?
这已被弃用,因为在 Reactor Netty 1.0.0 中 Bootstrap
和 ServerBootstrap
不再使用。 https://github.com/reactor/reactor-netty/releases/tag/v1.0.0
0.9.x 中没有替代此特定用例的方法。在 1.0.0 中,替换为 doOnChannelInit
如果您的构建限制使用已弃用的 API,请打开功能请求,我们将尝试从 1.0.0 版本向后移植 API。
我有一个 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 从版本 0.9.10 开始通过这个 PR 弃用了方法 bootstrap
:https://github.com/reactor/reactor-netty/pull/1175.
如何使用新 API 获得相同的行为?
这已被弃用,因为在 Reactor Netty 1.0.0 中 Bootstrap
和 ServerBootstrap
不再使用。 https://github.com/reactor/reactor-netty/releases/tag/v1.0.0
0.9.x 中没有替代此特定用例的方法。在 1.0.0 中,替换为 doOnChannelInit
如果您的构建限制使用已弃用的 API,请打开功能请求,我们将尝试从 1.0.0 版本向后移植 API。