先看一段代码
public void start() {
ServerBootstrap serverBootstrap = new ServerBootstrap();
EventLoopGroup bossGroup = new NioEventLoopGroup();
EventLoopGroup workGroup = new NioEventLoopGroup();
try {
serverBootstrap.group(workGroup, workGroup)
.option(ChannelOption.TCP_NODELAY, true)
.channel(NioServerSocketChannel.class)
.handler(new LoggingHandler(LogLevel.INFO))
.childHandler(new NFTInitHandler());
serverBootstrap.bind(port).sync();
} catch (InterruptedException e) {
e.printStackTrace();
}finally {
bossGroup.shutdownGracefully();
workGroup.shutdownGracefully();
}
}
看上去好像没有任何问题,但是确实会导致这个警告,原因在于 serverBootstrap.option(ChannelOption.TCP_NODELAY, true)
,在这一节代码中 option 主要是设置的 ServerChannel 的一些选项,而 childOption 主要是设置的 ServerChannel 的子 Channel 的选项。
所以参数 ChannelOption.TCP_NODELAY ,是用来设置 childOption 的,这里进行添加没有任何作用。
option 主要是针对 boss 线程组,child 主要是针对 worker 线程组
正确来源:
https://issues.apache.org/jira/browse/OAK-6901
https://netty.io/4.0/api/io/netty/channel/ChannelConfig.html
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于