首页 > 开源 > wastnet v1.0.2 发布:强类型配置与 MVC 模块独立

wastnet v1.0.2 发布:强类型配置与 MVC 模块独立

OSChina资讯 2026-09-29 09:16 5 阅读 查看原文

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 即可,二者二选一。

相关链接

完整变更见 CHANGELOG。