Я обновил версию netty и обнаружил, что метод начальной загрузки TcpServer был удален из предыдущей версии. Я не могу понять, как преобразовать мой существующий код, используя новую библиотеку netty.
factory.addServerCustomizers((NettyServerCustomizer) httpServer -> {
httpServer
.tcpConfiguration(tcpServer ->
tcpServer
.bootstrap(serverBootstrap ->
serverBootstrap
.group(parentGroup, childGroup)
.channel(NioServerSocketChannel.class)
)
);
Я могу сделать httpServer.runOn(parentGroup)
, но не могу понять, как с этим настроить дочернюю группу. Любые идеи?
Вы можете использовать приведенный ниже код в качестве замены:
LoopResources loop =
new LoopResources() {
@Override
public EventLoopGroup onServer(boolean useNative) {
return childGroup;
}
@Override
public EventLoopGroup onServerSelect(boolean useNative) {
return parentGroup;
}
};
httpServer.runOn(loop, false);
Это если вы хотите использовать какую-то конкретную реализацию для EventLoopGroup
.
Если вам нужно просто использовать NIO, вы можете использовать код ниже:
LoopResources loop = LoopResources.create("my-loop", parentGroupNumThreads, childGroupNumThreads, true);
server.runOn(loop, false);