Helidon 双轨发布:27 对齐 JDK 27,4.5.5 守住 JDK 21
Helidon 27 的发布,标志着 Helidon 首次采用 Oracle 的“Tip 与 Tail”库开发模型:Tip 采用最新的 Java 技术,Tail 则提供更加稳定和安全的基线。该版本与 JDK 27 的发布同步,变更包括重构原有的编程模型,以及引入两个新模块:Helidon Messaging 和 Hel
Helidon 27 这次走了一条此前没走过的路:首次采用 Oracle 的“Tip 与 Tail”库开发模型,Tip 追最新的 Java 技术,Tail 提供更稳、更安全的基线。版本与 JDK 27 同步落地,改动包括重构原有编程模型,以及新增 Helidon Messaging 和 Helidon Data JDBC 两个模块。
担任 Tip 的 Helidon 27 与 JDK 27 保持同步,用上最新的 Java 功能,后续跟着当前 OpenJDK 的发布节奏持续更新。按这个节奏,Helidon 28 将在 2027 年 3 月随 JDK 28 一起发布。
Tail 这一侧是 Helidon 4.5.5,版本管理仍沿用大家熟悉的 Helidon 语义化方式。它把 Helidon 4.5 LTS 保持在 JDK 21 基线上,同时对 JDK 25 提供支持;严重 Bug、安全修复和经过谨慎挑选的向后移植会被优先处理,开发团队因此拿到一条生命周期更长的生产基线。
Helidon 最早叫 J4C(Java for Cloud),追求的是简单和快速,起初包含 Helidon SE 与 Helidon MP 两种编程模型。这次发布用新的 Helidon Core 取代 Helidon SE,并给出两种新编程模型:Imperative 和 Declarative。前者的思路和传统 Helidon SE 相近,开发者用“普通的”Java 写应用,不必依赖注入或注解;后者允许使用依赖注入和注解,在构建时生成命令式代码和装配逻辑。
传统 Helidon MP 的位置由 Helidon MicroProfile 接替,后者已迁移为独立项目,继续支持 MicroProfile 和 Jakarta EE 规范,版本管理照样走 Helidon 的语义化方式。
新出现的 Helidon Messaging 是一层简化传统消息处理的消息层,绕开了 MicroProfile Reactive Messaging 规范这类响应式 API。开发者用普通的阻塞式 Java 就能和 Kafka、JMS 或 Apache Pulsar 等通道打交道,不必绑定特定连接器,通道靠配置和可插拔连接器完成绑定。
Helidon Data JDBC 则提供统一 API 来处理数据仓库查询,位置在传统对象关系映射(ORM)之上,充当抽象层。有了它,包含查询定义的接口可以在编译时转成实现类。Jakarta Persistence 规范及其对应实现 EclipseLink 和 Hibernate ORM 都在支持范围内。
Helidon SE 在 2018 年 9 月首次推出,给出 Web 服务器、配置和安全三项核心 API,供开发者搭建基于微服务的应用。Helidon MP 实现的则是多项 MicroProfile 规范。
这些年 Helidon 跟着 Java 社区一起演进,先后加入对 GraalVM、Java Persistence Architecture(现为 Jakarta Persistence)、Micronaut Data、Kotlin、MicroStream(现为 EclipseStore)以及 IntelliJ IDEA 的支持。
2020 年 6 月发布的 Helidon 2.0 在 Helidon SE 中加入了配合 Web 服务器使用的 Web 客户端和数据库客户端,还带来命令行工具(CLI)。
2022 年 7 月的 Helidon 3.0 把 JDK 17 定为最低版本;实现 MicroProfile 5.0 和部分 Jakarta EE 9.1 规范;支持 JEP 290“过滤传入的序列化数据”,反序列化因此默认关闭;此外更新了 Helidon SE 路由 API,推出新的项目启动器,CLI 也有改动。
1.0 至 3.0 版本系列的 Helidon Web 服务器最初基于 Netty。代号 Helidon Níma 的新 Web 服务器基于 JEP 444“虚拟线程”,2023 年 10 月随 Helidon 4.0 发布一同推出。
想了解这些版本的更多细节,可以查阅 27.0.0 版本和 4.5.5 版本的发布说明。