本期 Java 近期新闻综述内容主要涉及 OpenJDK、JDK 20、Spring 里程碑更新、Eclipse Tumerin 19、OmniFaces 4.0、PrimeFaces 12.0、OmniFish 简介、Quarkus 2.13.1、Oracle 加入 Micronaut 基金会、Eclipse Vert.x 4.3.4、JobRunr 5.3、Apache Tomcat 9.0.68、Apache Camel 3.19、Apache Tika 2.5、ArchUnit 1.0 及 Devoxx Morocco 和 JAX 伦敦大会。
OpenJDK
Oracle 编程语言设计师Gavin Bierman提交了两份 JEP 草案,一份是 8294285:switch模式匹配(第4个预览版),另一份是 8294078:记录模式(第2个预览版)。与它们相对应的上一份 JEP 已经在 JDK 19 中交付,它们是在 Amber 项目的支持下,分别提出了第 4 和第 2 个预览版。预览功能可以根据不断增长的经验和反馈进行优化。
JEP 草案 8294285 是 JEP 427(switch模式匹配第3个预览版)的升级,包括简化switch
标签语法;在switch
表达式、语句及其他支持模式的结构中支持泛型类型模式和记录模式的类型参数推断。
JEP 草案 4294087 是 JEP 405(记录模式第1个预览版)的升级,特性包括:支持泛型记录模式的类型参数推断;支持在增强 for 循环 header 中使用记录模式;移除命名记录模式支持。
亚马逊云科技首席工程师Roman Kennke提交了 JEP 草案 8294992:64位对象头。在Lilliput项目的支持下,该 JEP 草案提出,将 Java 对象头从 96 或 128 位减少到 64 位。Lilliput 是 Kennke 创建的一个项目,于 2022 年 5 月实现了64位头的第一个里程碑。
JDK 20
JDK 20早期访问构建的Build 18在上周发布,它是 Build 17 的升级,修复了各种问题。要了解更多细节,请查看发布说明。
对于JDK 20,我们鼓励开发者通过Java Bug数据库报告缺陷。
Spring Framework
在通往Spring Cloud 2022.0.0(代号 Kilburn)的道路上,第5个里程碑版本发布,主要特点是 Spring Cloud 子项目升级到第 4 版的第 5 个里程碑版本,包括Spring Cloud Consul、Spring Cloud Gateway、Spring Cloud OpenFeign 和Spring Cloud Commons。Spring Cloud Netflix 4.0.0-M1 的主要特点是将一个依赖项升级到 Eureka 2.0.0,使Spring Cloud Netflix可以兼容即将发布的 Spring Framework 6.0 和 Spring Boot 3.0 正式版。要了解更多细节,请查看发布说明。
Spring Shell的点版本和里程碑版本已经面向 Java 社区发布。2.1.2 版本基于 Spring Boot 2.7.4 构建,并向后移植了一些 Bug 修复。3.0.0-M1 版本有一些显著的变化,主要包括:依赖项升级到 Spring Boot 3.x;对 GraalVM 的支持基本完成;Spring Shell 现在是用 Gradle 构建的。要了解关于这些版本的更多细节,请查看2.1.2版本和3.0.0-M1版本的发布说明。
在通往Spring Batch 5.0.0 的道路上,第7个里程碑版本发布,主要特性包括:支持使用任何类型作为作业参数;改进作业参数转换。要了解关于这个版本的更多细节,请查看发布说明。
Eclipse Tumerin
Adoptium 工作组发布Eclipse Tumerin 19,这是他们提供的 OpenJDK 19 下游发行版。
OmniFaces
OmniFaces发布了 Faces 实用工具库的 4.0 版本,主要特点是引入了一个新方法addFacesScriptResource()
。这个方法是在Components
类中定义的,可以兼容Jakarta Faces 3.0 和 4.0。一个破坏性的变化是将最小依赖升级到 JDK 11 和 Jakarta EE 9 规范,即Faces 3.0、Expression Language 4.0、Servlet 5.0、Contexts and Dependency Injection 3.0、Enterprise Web Services 2.0 和Bean Validation 3.0。要了解关于这个版本的更多细节,请查看新增内容说明文档。
PrimeFaces
PrimeFaces 12.0.0发布,主要是升级了许多依赖项,包括hibernate-validator
6.2.1.Final、tomcat.version
9.0.58、slf4j-api
1.7.33、mockito-core
4.2.0、hazelcast
4.2.4 及其他 Maven 相关的模块。
OmniFish 简介
OmniFish是一家新成立的 Jakarta EE 咨询和支持公司。他们已经向 Java 社区介绍了自己。该公司致力于提供Jakarta EE、Eclipse GlassFish 和Piranha Cloud支持,并且已经以参与者成员的身份加入了Jakarta EE工作组。Arjan Tijms、Ondro Mihályi 、David Matějček和 Web 工程师Bauke Scholtz合伙创建了这家公司。他们在 GlassFish、Jakarta EE、Java 应用程序开发和 Java 中间件生产支持方面都有多年的经验。他们还是 Eclipse GlassFish 项目管理团队的成员。InfoQ 后续将带来更详细的报道。
Quarkus
红帽公司发布了 Quarkus 2.13.1.Final,主要是修复 Bug 和改进文档。由于 MicroProfile 规范的修改,MicroProfile OpenTracing and Metrics 规范的实现SmallRye被弃用。要了解关于这个版本的更多细节,请查看变更日志。
Micronaut
Micronaut 基金会宣布,Oracle 已加入 Micronaut 基金会,成为其工程合作伙伴。这是一项新计划,旨在“识别出可以开展合作的组织,由他们赞助 Micronaut 框架核心提交者团队的一名或多名成员的全职工作,关注代码库的关键共享和共用部分。”自 2020 年以来,Oracle 一直在为 Micronaut 项目提供开源贡献,如Micronaut AOT和Micronaut Serialization。
Eclipse Vert.x
作为对 4.3.3 版本中报告的若干问题的回应,Eclipse Vert.x 4.3.4发布,主要是修复了那些 Bug,记录了弃用内容和破坏性变化,并继续为虚拟线程孵化项目提供支持。要了解关于这个版本的更多细节,请查看发布说明。
Hibernate
Hibernate ORM 6.1.4.Final发布,修复了一些 Bug 并进行了增强,在从包含分配了标识符的SELECT
语句执行INSERT
时不再生成不必要的多表插入。
JobRunr
JobRunr 5.3.0发布,支持 Kotlin 1.7.20、Spring Boot 3.0.0-M5 和 Spring Boot 上下文索引器——一个可以生成 Spring 组件索引的实用工具,能够加快启动时间。要了解关于这个版本的更多细节,请查看发布说明。
Apache 软件基金会
Apache Tomcat 9.0.68发布,其中包含一些值得注意的 Bug 修复,例如:破坏 JSP includes 的重构回归;使用 HTTP/2 和 NIO2 过程中客户端断开连接时出现的意外超时。此外,这个版本还执行了 RFC 7230——超文本传输协议(HTTP/1.1):消息语法和路由。这样,对于 content-length 消息头格式错误的请求,总是以 400 服务器响应拒绝。要了解关于这个版本的更多细节,请查看变更日志。
Apache Camel 3.19.0发布,带来了 259 项 Bug 修复、改进和依赖项升级,其中包括 gRPC 1.48.1、Spring Boot 2.7.3、JUnit 5.9 以及 Artemis 2.25.x。hadoop-common
模块已升级到 3.3.3 版本,解决了CVE-2022-26612漏洞(TAR 条目可能会创建未解析符号链接,指向预期提取目录下的外部目录)。要了解关于这个版本的更多细节,请查看发布说明。
Apache Tika 2.5.0发布,特性包括:改进了 PDF/UA、PDF/VT 和 PDF/X 的 PDF 子集信息提取;避免从 PDF 中提取书签时出现无限循环;通过AutoDetectParserConfig
类启用提取配置。要了解关于这个版本的更多细节,请查看发布说明。截至 2022 年 9 月 30 日,Apache Tika 1.x 版本序列的生命周期已经结束,不再支持了。
ArchUnit
TNG科技咨询公司发布了ArchUnit 1.0.0 版本,这是一个可扩展的开源库,用于检查 Java 代码的架构,检查包和类、层和片之间的依赖关系,并检查循环依赖关系。该版本带来了多项增强,包括:不再将archunit_ignore_patterns.txt
文件中定义的忽略规则与FreezingArchRule
类一起填充ViolationStore
接口的实例。为了消除歧义,该版本重命名了大量的“getter”方法,导致了一些破坏性的更改。InfoQ 后续将带来更详细的报道。
JHipster
JHipster Lite 0.17.0发布,带来了 Bug 修复、增强和依赖项升级,后者主要包括keycloak
19.0.3、mongodb
1.17.5、react-hook-form
7.37.0 和vite
3.1.6。
会议
Devoxx Morocco 2022于上周在摩洛哥阿加迪尔的塔哈泽特湾希尔顿海滩度假酒店举行,来自 Java 社区的许多演讲者发表了演讲,主题包括:Java 与编程语言;架构与安全;Devops、云、容器和基础设施;数据与人工智能。
类似地,Jax London 2022于上周在英国伦敦的商业设计中心举行,吸引了许多来自 Java 社区的演讲者,他们出席了各分会场和研讨会。
原文链接:
https://www.infoq.com/news/2022/10/java-news-roundup-oct03-2022/
评论