Java 近期新聞:Loom 和 Panama 更新、Groovy 4.0、GraalVM 22.0 CE 和 Jakarta EE RPC

語言: CN / TW / HK

本期的 Java 新聞綜述的訊息包括 OpenJDK、JDK 18、JDK 19、Loom 和 Panama 專案、Jakarta EE、Groovy 4.0、Spring Framework 更新、Micronaut 3.3.0、GraalVM 22.0 CE、Liberica NIK、MicroProfile Reactive Streams Operators 3.0-RC1、Hibernate 更新、JHipster 7.6、IntelliJ IDEA 2021.3.2、JReleaser 早期訪問版本、Apache Camel 與 Camel K 以及 Foojay.io 的 FOSDEM。

OpenJDK

甲骨文公司的首席技術人員 Jonathan Gibbons 日前 宣佈jtreg 6.2 版本(JDK 測試框架中用來編寫回歸測試的工具)將會是支援舊版本 JDK 的最後一個版本。正如 Gibbons 所述:

從 JDK 9 開始, jtreg 一直被限制為相容 JDK 8 進行編譯,所以我們能夠編譯程式碼的某些部分以便在舊版本上執行,這實際上意味著整個 jtreg 被限制只能使用 JDK 8 中的 API 和語言特性。

這個變更會使程式碼庫更加現代化,將會需要 JDK 11 或 JDK 17 作為最小版本。

JDK 18

JDK 18 早期訪問構建Build 33 版本已經發布,它是對 Build 32 的 更新 ,包括了對各種 問題 的修復。更多細節可以在 釋出說明 中找到。

JDK 19

JDK 19 早期訪問構建Build 7 版本已經發布,它是對 Build 6 的 更新 ,包含了對各種 問題 的修復。更多細節可以在 釋出說明 中找到。

對於 JDK 18 和 JDK 19 ,歡迎開發者通過 Java Bug資料庫 報告缺陷。

Loom 專案

Loom 專案 早期訪問構建 的 Build 19-loom+2-58 版本已經面向 Java 社群釋出,它是基於 JDK 19 早期訪問構建 Build 6 的。

Panama 專案

Panama 專案 早期訪問構建 的 Build 19-panama+1-13 版本也已經面向社群釋出,它基於 JDK 19 的一個不完整版本,其特性是將 jextract 工具與 JDK 18 保持一致。

Jakarta EE

來自 Eclipse 基金會的 Jakarta EE 開發人員倡導者 Ivar Grimstad 在他的 Hashtag Jakarta EE 每週 部落格宣佈Jakarta EE規範委員會(Jakarta EE Specification Committee) 已經 批准 了一項新的規範,即 Jakarta RPC 。這個新規範將專注於在 Jakarta EE 生態系統中構建基於 gRPC 的應用。如果開發者對參與 Jakarta RPC 感興趣,歡迎加入 Jakarta RPC 郵件列表

Groovy

期待已久的 Groovy 4.0.0 業已面向 Java 社群釋出,相對於 RC-2版本 ,它包含了 28個缺陷修復/改進 ,相對於 Groovy 3.0.0版本 ,它包含了 800 多個新特性、改進和缺陷修復。這包括​​switch 表示式、record、密閉型別以及 Groovy整合查詢(Groovy-Integrated Query,GINQ) ,這是一個類似於 SQL 語法用來進行查詢的 DSL。更多細節可以參閱 釋出說明

Spring 框架

在通向 Spring Cloud 2022.0.0(代號為 Kilburn)版本的道路上, 第一個里程碑版本 業已釋出。與 Spring Framework 6.0 和 Spring Boot 3.0 一樣,Spring Cloud 2022.0.0 的 GA 版本需要 JDK 17+並且會與 Jakarta EE 9 保持一致。更多的細節,包括一些破壞性的變更,可以參閱 釋出說明

Spring Initializr 0.12.0 已經 釋出 ,其中包含 10個缺陷修復和增強 ,並且將依賴升級到了 Gradle 7.3.3、Maven 3.8.4、Maven Resolver 1.7.3、Maven Resolver Provider 3.8.4 和 Spring Boot 2.6.3。更多細節可以在 釋出說明 中找到。

Spring Native 0.11.2 業已 釋出 ,包含 30個缺陷修復、文件的增強以及依賴的升級 。一些新的特性包括:通過使用 -DskipTests 標記以防止生成不必要的 Maven AOT 測試源;當探測到 logback.xml 時,生成有意義的錯誤資訊;在 AOT 模式下,正確地禁用 spring-boot-devtools 模組。

Spring Authorization Server 0.2.2 釋出 ,該版本包含了新的特性、缺陷修復和依賴升級。更多細節可以參閱 釋出說明 ,另外,該 示例應用 也可以幫助開發者入門。

Micronaut

Micronaut 基金會 釋出了 Micronaut 3.3.0,其中包括了對 GraalVM 22.0.0 的支援,並且引入了一個新的模組 Micronaut Email ,藉助該模組能夠在 Micronaut 應用中更高效地傳送電子郵件。更多細節可以在 釋出說明 中找到。

Micronaut 還 宣佈 ,鑑於存在 兩個不合規的例項Let’s Encrypt 撤銷了從 2022 年 1 月 26 日到 1 月 28 日使用其 TLS 與 ALPN 驗證方法的證書。這可能會影響到使用 Micronaut Acme 來更新安全證書的開發者。

GraalVM

在之前的 Java 新聞綜述中,InfoQ 曾經報道過 GraalVM 22.0 企業版 釋出 的訊息,而因為要進行一些額外的測試,社群版的提供時間有所延遲。最近,針對 JDK 11 和 JDK 17 的 GraalVM 22.0 社群版已經 釋出 ,其特性是改進了原生映象工具的構建時間和記憶體使用。InfoQ 在 新聞報道 中提供了更多細節。

Liberica 原生映象工具包

BellSoft 釋出了新 Liberica 原生映象工具包(Liberica Native Image Kit,NIK)的 22.0.0.2 版本,以及升級版本 21.3.1。新的特性包括:在 MacOS 下的 Liberica NIK 中支援 OpenJFX,並且在所有版本的 NIK 中預設包含了 native-image 工具,從而避免使用 gu 工具單獨安裝它。

MicroProfile

在通往 MicroProfile Reactive Streams Operators 3.0 的道路上, 第一個候選版本 已經發布,特性包括與 Jakarta EE 9.1 保持一致,並重構 Java  ServiceLoader 類中的 load() 方法,以便於在實現 ReactiveStreamsEngineReactiveStreamsFactory 介面時作為一個 PrivilegedAction,從而解決使用 WildFly 時的安全問題。更多的細節可以在 釋出說明 中找到。

Hibernate

Hibernate Search 6.1.0.Final 版本 釋出 ,其特性包括通過 outbox-polling 協調策略支援非同步、分散式的自動化索引;相容 Elasticsearch 7.16 以及 OpenSearch 1.0 和 1.2 版本;使用 DSL 語言改進搜尋的新斷言(predicate)。

Hibernate ORM 5.6.5.Final 版本 釋出 ,特性包括改進對 H2 資料庫 最新版本 2.1.210 的相容性,但是依然建議開發人員檢視 H2 資料庫的 變更日誌 ,並根據需要更新指令碼、ORM 對映和 H2 配置。

在通往 Hibernate ORM 6.0 的道路上, 第一個候選版本 已經發布,包括通過 @CollectionType@CollectionTypeRegistration 註解實現對 UserCollectionType 介面的支援。鼓勵開發者檢視 使用者指南

JHipster

JHipster 的 7.6.0 版本業已 釋出 ,包括如下的特性: 依賴升級 到 Spring Boot 2.6.3;修復 Vue 的 userManagementService 問題;修復使用 Angular 時,更新到之前的 JHipster 7.5.0 版本後,web 不更新Browsersync 的問題;以及一些庫的升級。更多細節可以參閱 釋出說明

IntelliJ IDEA

JetBrains 釋出 了 IntelliJ IDEA 2021.3.2,該版本修復了一些功能,例如,macOS 上的 Cmd-N(⌘N)在呼叫 File->New 後 不能開啟 Generate 對話方塊; 不必要 的索引重新掃描;以及 YAML 檔案的 縮排問題 。更多的細節可以在 釋出說明 中找到。

JReleaser

JReleaser 是一個簡化專案釋出的 Java 工具,它的 早期訪問版本 包括如下的特性:對 Docker 規範的修復; Archive 釋出型別中對 null 的檢查;以及將 check-multi-line-strings 屬性的預設值從 true 改為 false 。InfoQ 計劃在 JReleaser 1.0.0 的 GA 版本釋出時跟進發布更詳細的新聞報道。

Apache Camel

Apache 軟體基金會在 Camel 3.14 釋出列車中 提供 了一個新的 LTS 小版本。3.14.1 版本有 47 個缺陷修復和改進,並對 Log4j2 的 2.16.0、2.17.0 和 2.17.1 版本、Logback 1.2.8、camel-spring-boot 2.6.3 和 bouncycastle 1.70 進行了依賴性升級。

Apache Camel K 的 1.8版本 已經 釋出 ,其特性包括支援 KEDA (Kubernetes Event-Driven Autoscaling),這將使開發人員能夠更有效地提供傳入事件的自動縮放功能。關於這個新功能的更多細節可以參閱這篇 部落格文章

Camel K 是一個輕量級的整合框架,基於 Camel K Runtime 1.11.0、Camel Quarkus 2.6.0、Camel 3.14.0 和 Camel Kamelets 0.7.0 構建。

Foojay.io at FOSDEM 2022

OpenJDK 之友(Friends of OpenJDK), Foojay.io ,是一個 Java 生態系統的社群平臺,會在 FOSDEM 2022 會議上主持他們自己的 developer rooms ,該會議定於 2022 年 2 月 5 日至 6 日(週六至週日)舉行。

FOSDEM 是一個由志願者組織的為期兩天的活動,旨在促進自由和開源軟體的廣泛使用,將提供一些議題和其他 developer rooms,又稱 devrooms,由其他組織和社群主辦。

原文連結:

Java News Roundup: Loom and Panama Updates, Groovy 4.0, GraalVM 22.0 CE, Jakarta EE RPC