2015-05-26 41 views
0

在網狀,對象由ChannelHandler(多個)處理應該調用ReferenceCountUtil.release()被釋放。我在我的應用程序和文檔中使用自定義的對象表示,學生所需的任何對象被釋放應該實現ReferenceCounted因此它可以通過網狀框架進行管理。引用計數對象

所以,我們應該把清理處理程序在通道管線釋放進入第三方對象的尾部(我不攔截出站消息)?我有正確的想法嗎?

回答

2

它取決於第三方對象是什麼,但是如果它沒有實現ReferenceCounted並且它被JVM垃圾回收器回收沒有任何問題,那麼您並不需要做任何事情。

原因的Netty希望你釋放ReferenceCounted對象是因爲它包含的東西,「必須」立即釋放。 (例如直接緩衝區,緩衝區池)

+0

謝謝您的回答。這是否意味着我們完全可以忽略自定義的消息對象? – Korben

+0

@Korben是的,只要該對象包含一個'ByteBuf'或其他'ReferenceCounted' – trustin