2016-07-22 98 views
1

我正在使用Netty來處理其消息頭中具有可變長度字段的協議。 LengthFieldBasedFrameDecoder證明是完美的這個要求。多個通道可以使用相同的LengthFieldBasedFrameDecoder實例嗎?

鑑於這對每個通道都是完全相同的(對內容的實際處理由流水線中的後續處理程序完成)是否可以線程安全地使用此類的單例,而不是爲每個通道創建一個新類?

如果幀被分割,需要重新組合,它會爲每個通道保留單獨的ByteBuf實例,還是會有數據損壞的風險?

感謝

回答

3

都能跟得上,你需要爲每個頻道建立一個新的實例。所有可由多個渠道使用的處理程序標記爲@Sharable

相關問題