0
在網狀,對象由ChannelHandler
(多個)處理應該調用ReferenceCountUtil.release()
被釋放。我在我的應用程序和文檔中使用自定義的對象表示,學生所需的任何對象被釋放應該實現ReferenceCounted
因此它可以通過網狀框架進行管理。引用計數對象
所以,我們應該把清理處理程序在通道管線釋放進入第三方對象的尾部(我不攔截出站消息)?我有正確的想法嗎?
在網狀,對象由ChannelHandler
(多個)處理應該調用ReferenceCountUtil.release()
被釋放。我在我的應用程序和文檔中使用自定義的對象表示,學生所需的任何對象被釋放應該實現ReferenceCounted
因此它可以通過網狀框架進行管理。引用計數對象
所以,我們應該把清理處理程序在通道管線釋放進入第三方對象的尾部(我不攔截出站消息)?我有正確的想法嗎?
它取決於第三方對象是什麼,但是如果它沒有實現ReferenceCounted
並且它被JVM垃圾回收器回收沒有任何問題,那麼您並不需要做任何事情。
原因的Netty希望你釋放ReferenceCounted
對象是因爲它包含的東西,「必須」立即釋放。 (例如直接緩衝區,緩衝區池)
謝謝您的回答。這是否意味着我們完全可以忽略自定義的消息對象? – Korben
@Korben是的,只要該對象包含一個'ByteBuf'或其他'ReferenceCounted' – trustin