Netty 4:不同管道中的共享处理程序

时间:2016-09-15 04:32:59

标签: netty

为每个新连接调用ChannelInitializer.initChannel方法

pipeline.addLast(new HttpServerCodec());
pipeline.addLast(new HttpObjectAggregator(65536));
pipeline.addLast(new ServerWebSocketServerProtocolHandler("/api", "*", false));

我可以为所有连接重用相同的实例吗?如何通过多个连接判断特定处理程序是否可重用?

1 个答案:

答案 0 :(得分:0)

您可以重复使用的处理程序,使用@Sharable进行注释,这意味着可以保证无状态。

请继续查看不同处理程序的文档。

例如,HttpServerCodecHttpObjectAggregator可共享。

最后一个处理程序可能是你实现的自定义处理程序,至少我不熟悉它。那取决于你的实施。

否则,您可以通过创建它们的静态实例来重用前两个处理程序,并仅为每个连接重新创建最后一个处理程序。