java - 在 Netty 4.1 中,管道中的处理程序何时在服务器上关闭 channel 后被删除?

标签 java netty nio

因此,我们正在将生产服务器上的 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/

相关文章:

java - jdk11 g1gc 花费大量时间准备 TLAB

java - 何时在netty中使用Unpooled

java - HornetQ 中的 NettyAcceptor 已使用的地址

java - 使用 FileSystems.newFileSystem(URI uri, Map<String, ?> env) 时出错

java nio注册写操作后无法读取

java - 通过 Java NIO 非阻塞 SocketChannel 写入和读取对象

java - 来自命令行的 Spring Boot 参数

java - 使 JList 值不可选择

java - 如何使用 java 备份 postgres 数据库

java - 找不到 TLS ALPN 提供商;没有可用的 netty-tcnative、Conscrypt 或 Jetty NPN/ALPN