wastnet v1.0.2 发布:强类型配置与 MVC 模块独立
wastnet 是一款完全自研、零第三方依赖的轻量级 Java 网络应用框架,核心基于 JDK 原生 NIO 构建 Reactor 多路复用模型,不依赖 Netty、Tomcat 等任何第三方网络库。其 HTTP/2 协议栈从 HPACK、Huffman 到 ALPN 均为自主实现,并支持直接加载 PEM 证书、原生 WebSocket / SSE,性能可与 Undertow 等成熟框架正面对比。
本次更新聚焦工程化重构与可用性增强:引入强类型 Option 配置机制、将注解式 MVC 从核心拆分为独立 wastnet-mvc 模块,并在 HTTP/2、TCP 层、注解 MVC 结果处理等多方面进行了重构与修复。
新增
- 强类型 Option 配置机制:新增
HttpOptions/SocketOptions/Option,配置按服务实例隔离,支持多服务间隔离。 - 独立 wastnet-mvc 模块:注解驱动的 MVC / IoC 从核心拆分为独立模块,按需引入、体积更可控。
- 健康检查可配置:支持全局配置健康检查响应内容类型与响应体。
- SSE request() 访问器:
SseEmitter新增request()方法,便于在 SSE 处理器中读取请求上下文。
改进
- HTTP 请求体解码重构(
HttpBodyDecoder系列、HttpDecodedRequest/HttpDecodedResponse/HttpDefaultResponse等)。 - HTTP 头部与消息处理重构(
HttpHeaderUtils、HttpMessage、HttpRequestDecoder等)。 - 路由配置优化(
HttpRouterHandler、HttpServerChannelHandler)。 - 注解 MVC 结果处理增强:按 ContentType 注册转换器、内置 TEXT 转换器、视图解析器与默认结果处理。
- HTTP/2 流控、超时与 Huffman 解码重构;H2 消息读取与帧处理重构。
- TCP 层重构(
ChannelContext、ChannelRunner、NioConfig/NioEngine、SocketConf/SocketOptions等)。 - JDK8 兼容简化:移除 JDK9 运行时分支(
RuntimeEnvJDK9Plus删除)。 - 反向代理层适配调整(
HttpProxyConfig/HttpProxyVariables/ 各 Adapter)。 - 文件上传 Multipart 处理调整。
修复
- 修复 URI 解码时值中包含等号被截断的问题。
- 增强静态资源路由符号链接防护。
- 完善 HTTP/2 流清理与连接关闭处理。
- 修正 HTTP/2
PING_ACK标志位值以符合 RFC 7540。
Maven 引入
<dependency>
<groupId>io.github.wycst</groupId>
<artifactId>wastnet-core</artifactId>
<version>1.0.2</version>
</dependency>
使用注解式 MVC 只需引入wastnet-mvc(已依赖wastnet-core),基础场景引入wastnet-core即可,二者二选一。
相关链接
- Gitee:https://gitee.com/xiaoch0209/wastnet
- GitHub:https://github.com/wycst02/wastnet
- 协议:Apache License 2.0
完整变更见 CHANGELOG。