因此,我们正在将生产服务器上的 Netty 3.9 迁移到 Netty 4.1。在两个版本的管道中添加和删除 ChannelHandler
的方式似乎有所不同。具体来说,在关闭服务器上的 channel 后,我记录了管道中某个时刻出现的 ChannelHandler
。在 Netty 4.1 中,管道有时显示很少或没有处理程序,而在 Netty 3.9 中,所有处理程序始终存在。所有这些都是在关闭 channel 引用之后。这是预期的吗? Netty(在 3.9 和 4.1 中)什么时候在 channel 关闭后删除管道中的所有处理程序?
最佳答案
在 netty 4.x 中,当 channel 关闭时,我们从管道中依次删除所有处理程序。这样我们还可以执行 handlerRemoved(...)
,这可能需要释放内存等。
关于java - 在 Netty 4.1 中,管道中的处理程序何时在服务器上关闭 channel 后被删除?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44902893/