我们很高兴地宣布 netty 4.1.101.Final 正式版发布。这(主要)是一个错误修复版本,除了修复正确性错误外,还修复了使用 DatagramChannel 时的性能问题。如果您使用 DatagramChannel,请考虑尽快升级。
最重要的更改有
为通道初始化添加服务加载扩展点 (#13565)
添加了对预告片中伪头文件的检查 (#13603)
当 Http2FrameStreamException 到达通道管道末端时自动关闭 Http2StreamChannel (#13651)
当超过 RST_FRAME 速率时抛出无堆栈异常 (#13657)
默认情况下只启用服务器的 RST 限制 (#13671)
更改 DatagramChannel 实现的 MAX_MESSAGES_PER_READ 的默认值 (#13676)
为与未知 http2 流相关的错误提供描述性信息 (#13691)
更多详情,请访问我们的错误跟踪器
为通道初始化添加服务加载扩展点
许多库和框架都使用了 Netty,但它们(合理地)隐藏了使用 Netty 的事实。当 Netty 被隐藏起来时,就很难,有时甚至不可能从外部修改通道管道、属性或选项。甚至可能根本不清楚某个框架或库是否使用了 Netty。不过,有时我们想对 Netty 初始化的大部分或所有通道进行一些修改或检查,而不管在特定情况下使用 Netty 的是哪个框架或库。
以下是一些用例
网络应用防火墙
服务器端请求伪造过滤器
入侵检测
指标收集。
为了解决这些用例,而不需要集成商以某种方式查找进程中的每个 Netty 使用情况,我们引入了一个服务加载的扩展点,可挂钩通道初始化进程。有关其工作原理和使用方法的详细信息,请参阅 (#13565)。