@levinzhang
2022-10-14T23:09:45.000000Z
字数 1860
阅读 392
by
在2022 JAX伦敦会议上,Spring的开发人员倡导者Oliver Drotbohm分享了Spring Framework 6和Spring Boot 3的发布日期,也就是2022年的11月份。他还指出新的Spring Boot Migrator项目能够将Spring Boot 2.7应用迁移至3.0版本。他还证实,Spring Framework 6.0不会提供对Java Module的完整支持,但可能会在后续版本中实现。
在2022 JAX伦敦会议上,来自Spring的高级首席软件工程师Oliver Drotbohm做了一个非常及时的演讲,题目为Spring Boot 3 and Spring Framework 6 – A New Generation。Drotbohm分享了Spring Framework 6和Spring Boot 3的预计发布日期,也就是会在2022年的11月底。他还指出,最近发布的Spring Boot Migrator项目能够将Spring Boot 2.7应用迁移至3.0版本,并能将Spring Boot 2.6应用迁移至2.7版本。迁移至Spring Boot 3是必要的,因为Spring Framework 6使用了Jakarta EE 9,支持jakarta.*
包命名空间。
Drothbohm重申了这些版本的其他支柱性特性,包括使用JDK 17作为新的基线、对Spring Boot中基于GraalVM实现原生Java的开箱即用支持,以及基于Micrometer的内置可观测性。SpringOne计划于2022年12月6日至8日举行,该会议将会是成为Spring Framework 6和Spring Boot 3的发布平台。
Drotbohm没有讨论在Spring Framework 6中对Java Platform Module System(JPMS)的支持,去年InfoQ曾经首次报道过这个问题。他随后向InfoQ证实,Spring Framework 6.0不会提供对JPMS的完整支持,但可能会在后续版本中实现:
Spring Framework 6.0密切关注AOT和GraalVM原生镜像,以优化基于Spring的应用的部署。同时,我们的模块系统计划尚无法构建迁移至完整的JPMS模块描述符。在过去一年中,很少有人提出这样的要求。着眼未来,从长远来看,对应用/框架级别的模块来讲,基于
jlink
的模块约束方式可能会被基于GraalVM风格的独立可达性分析所取代。也就是说, OpenJDK的Leyden项目旨在为其标准化的静态镜像方式重用模块系统的概念和工具,所以对于Spring Framework 6.x来说,更深入的模块系统调整依然是我们长期技术战略的一部分。
作为目前的生产版本,Spring Framework 5.3和Spring Boot 2.7将会获得免费支持,直到2023年5月,在此之后,会提供扩展的商业支持,直到2025年8月。即将推出的Spring Framework 6和Spring Boot 3版本将获得一年的免费支持,直到2023年11月,然后是扩展商业支持,直到2025年2月。
Spring Boot 3一年的支持周期保持了与最近的Spring Boot版本相一致。VMware明确表示,Spring Framework用户应该更快升级到6.x版本,这一点InfoQ在去年曾经报道过:
我们强烈鼓励Spring Framework 6用户加入我们的功能发布流,另外,不要期望长期停留在6.0.x版本上,而是希望让6.1、6.2等版本的升级成为常规使用模式的一部分。
其他Java框架的升级速度甚至更快。例如,Quarkus大约每月发布一次功能更新,中间还有缺陷修复版本。
Drotbohm还对Spring Framework 6和Spring Boot 3的可观测性提出了新的见解。尽管Spring套件项目会基于Micrometer,但对于开发者来说,可观测性将更多地体现在基础设施层面(如对REST控制器的请求)。
Spring目前包括22个项目,支持大量的第三方库。Drotbohm指出,Spring Framework 6和Spring Boot 3在发布时可能不会提供对所有项目和库的原生Java与可观测性支持。未来的Spring版本将对此进行完善。
查看英文原文:Spring Boot 3 Ships November 2022, Delays Java Module Support