2016-07-22 91 views
1

我正在使用Netty来处理其消息头中具有可变长度字段的协议。 LengthFieldBasedFrameDecoder证明是完美的这个要求。多个通道可以使用相同的LengthFieldBasedFrameDecoder实例吗?

鉴于这对每个通道都是完全相同的(对内容的实际处理由流水线中的后续处理程序完成)是否可以线程安全地使用此类的单例,而不是为每个通道创建一个新类?

如果帧被分割,需要重新组合,它会为每个通道保留单独的ByteBuf实例,还是会有数据损坏的风险?

感谢

回答

3

都能跟得上,你需要为每个频道建立一个新的实例。所有可由多个渠道使用的处理程序标记为@Sharable

相关问题