2017-07-04 4 views
0

したがって、私たちは本番サーバー上でNetty 3.9からNetty 4.1に移行中です。両方のバージョンでパイプラインに追加され、削除される方法に違いがあるようです。具体的には、サーバー上のチャネルを閉じた後、パイプラインにある時点でChannelHandlerを記録しています。 Netty 4.1では、パイプラインにハンドラがほとんどまたはまったく表示されない場合があります。Netty 3.9では、すべてのハンドラが常に存在します。これはチャネル参照を閉じた後のすべてです。これは期待されていますか?いつNetty(3.9と4.1の両方)は、チャネルが閉じられた後、パイプライン内のすべてのハンドラを削除しますか?Netty 4.1では、サーバ上のチャネルを閉じた後、パイプラインのハンドラがいつ削除されますか?

答えて

2

Netty 4.xでは、チャネルが閉じられたときにパイプラインからすべてのハンドラを削除します。このようにして、メモリなどを解放するために必要なかもしれないhandlerRemoved(...)も実行します。

+0

ありがとうございます。いくつかの疑問:これはある種の「asyc」方法で起こるか?たぶんバックグラウンドスレッドなどで?なぜなら、エンコーダーとデコーダーが閉じられた後も、数少ないチャンネルのエンコーダーとデコーダが表示されることがあるからですまた、チャネルを閉じた後にハンドラを削除するこのメカニズムは、Netty 3.xにはありませんか? – gravetii

+1

はいこれは非同期の方法で起こる可能性があります。はい、これは3.xにはありません –

関連する問題