Java 近期新聞:JDK 19 與 Jakarta EE 10 的更新以及 Amazon Corretto 的非同步、緩衝日誌

語言: CN / TW / HK

本期的 Java 新聞主要會介紹 OpenJDK、JDK 19、Jakarta EE 10 的新特性,對 Spring Cloud 子專案的更新,Amazon Corretto 為 OpenJDK 17 所提供的非同步、緩衝日誌,Quarkus 2.7.4.Final,Hibernate ORM 6.0.0.CR2,Apache Groovy 3.0.10 與 2.5.16,Apache Camel 3.14.2,JReleaser 早期訪問版本,JobRunr 4.0.10,JDKMon 17.0.23 和 FailSafe 3.2.3。

OpenJDK

JEP 422,即 Linux/RISC-V移植 ,已經從 JDK 19 的 Candidate 狀態提升到了 Proposed to Target 狀態。這個 JEP 提議將 JDK 移植到 Linux/RISC-V,這是一個免費開源的 RISC 指令集架構。它將會支援模板解析器、C1 和 C2 JIT 編譯器,以及所有當前主流的 GC,包括 ZGC 和 Shenandoah。這個 JEP 的重點是將該移植整合到 JDK 主線程式碼庫中。該審議過程計劃於 2022 年 3 月 17 日結束。

JDK 18

JDK 18 仍處於 候選釋出階段 ,預計將於 2022 年 3 月 22 日釋出 GA 版本。 釋出說明 中包含了一些檔案的連結,比如 完整的API規範 和一個 帶註釋的API規範 ,它比較了 JDK 17( Build 35 )和 JDK 18( Build 37 )之間的差異。InfoQ 將以更詳細的新聞報道繼續跟進相關的訊息。

JDK 19

JDK 19 早期訪問構建版本Build 13 已經發布,其特性是對 Build 12 的 更新 ,包括對各種問題的 修復 。更多細節可以在 釋出說明 中找到。

對於 JDK 18 和 JDK 19 ,我們鼓勵開發者通過 Java缺陷資料庫 報告錯誤。

Jakarta EE 10

Eclipse 基金會的 Jakarta EE 開發人員倡導者 Ivar Grimstad 在他的 Hashtag Jakarta EE 每週 部落格宣佈 ,面向 Jakarta EE 10 規範 的初步釋出審議已經在 2022 年 2 月 28 日的最後期限前成功完成。這意味著 Jakarta EE 10 有望在 2022 年 5 月底前如期交付。

2022 年的 Jakarta EE開發者調查 也在上週 公佈 ,今年的調查將聚焦在在雲原生應用開發方面。

Spring 框架

最近,Spring 相對平靜, Spring Cloud 團隊提供了兩個子專案的小版本釋出,它們都是基於 Spring Boot 2.6.3 和 Spring Cloud 2021.0.1。

Spring Cloud Stream Applications 的 2021.1.1 版本已經 釋出 ,該專案提供開箱即用的應用程式,它可以作為獨立的 Spring Boot 應用程式執行,該版本的特性主要是改進和缺陷修復。該版本的進一步細節可在 釋出說明 中找到。

阿里雲 維護的社群專案 Spring Cloud Alibaba 的 2021.0.1.0 版本 釋出 ,特性是對 Nacos 1.4.2、 Apache RocketMQ 4.9.2 和 Sentinel 1.8.3 進行了依賴升級。關於這個版本的更多細節可以在 釋出說明 中找到。

Amazon Corretto

Amazon Corretto 團隊在發現應用程式在向磁碟寫入日誌時會被 I/O阻塞 後,為 OpenJDK 17 貢獻了對 可選的非同步/緩衝日誌的支援 (JDK-8229517)。開發者現在可以通過應用 -Xlog:sync 開關和統一日誌(Unified Logging,UL)框架來避免因 I/O 導致的 GC 暫停延長。他們的實驗表明,非同步日誌將實際的 CPU 時間減少了 34.5%,整體的 CPU 利用率從 102.7%增加到 171.6%。

Quarkus

Quarkus 2.7.4.Final 釋出,它是 第四個維護版本 ,包括以下變化:升級到 JReleaser 1.0.0-M3;當 RESTEasy Reactive 與傳統 REST 客戶端一起使用時,避免出現 NullPointerException ;向 OpenApiRecorder 記錄 INFO 訊息,以在生產模式下使用 quarkus.http.cors 屬性以及更新 HTTP 頭資訊的 HTTP CORS 部分。關於這個版本的進一步細節可以在 更新日誌 中找到。

Red Hat 還 釋出 了 Quarkus Tools for IntelliJ 1.10.0,該版本的特性包括安全修復,並支援 Quarkus 的執行/除錯配置。

Hibernate

在通往 Hibernate ORM 6.0 的道路上, 第二個候選版本 已經發布,特性包括:釋出到 Maven 中央倉庫的製件現在已被簽名;修復 CDI 相關的問題,這是由於 CDI 中一個 BeanManager 介面的實現已不可用;修正和改進 @NotFound 註解的對映行為。該版本還通過了 Jakarta Persistence 3.1規範 的 TCK。該團隊預計將在未來兩到四周內提供正式的 GA 版本。

Apache Groovy

Apache Groovy 3.0.10 已經 釋出 ,其中包括 91 個缺陷修復、依賴性升級以及以下改進:型別引數檢查; TraitComposer 類的例項應該用 @Generated 註解標記生成方法;列舉值應該被載入到註解屬性中。更多細節可以在 釋出說明 中找到。

Apache Groovy 2.5.16 已經 釋出 ,它包括 108 個缺陷修復、依賴性升級以及與上文相同的改進,除此之外,還包括如下的特性: @Delegate 註解應檢查註解屬性上的屬性/方法名稱,如 includes excludes ;如果一個 final 變數也被宣告為 volatile ,則會產生編譯器錯誤;AST 轉換應只為不可變的欄位提供 getter 方法。進一步的細節可以在 釋出說明 中找到。

Apache Camel

Apache 軟體基金會在 Camel 3.14 版本的釋出序列中 提供 了一個新的 LTS 小版本釋出。3.14.2 版本修復了 27 個缺陷和改進,並且對 Spring Boot 和 Apache Commons Pool( org.apache.commons:commons-pool2 )的 2.6.4 和 2.5.10 版本的依賴進行了升級。更多細節可以在 釋出說明 中找到。

JReleaser

在通往 1.0.0 版本的道路上, JReleaser 更新了一個 早期訪問 版本,提供瞭如下的功能:新的可選項,以便在 verbose 模式下執行 jpackage 命令,並刪除了所有廢棄的原始碼。

JobRunr

JobRunr 是一個在 Java 中執行後臺處理的工具,它釋出了 4.0.10版本 ,包括對以下問題的修復:無法從包含抽象成員的 Enum 中反序列化 JobDetails 類的例項,以及 CronExpression 類的例項無法處理 12 月 30 日和 31 日的日期。

JDKMon

JDKMon 是一個監控和更新已安裝的 JDK 的新工具,它的 最新版本 已經提供給 Java 社群。它由 Azul 公司的首席工程師 Gerrit Grunwald 建立,17.0.23 版包括:更新的依賴關係,根據漏洞得分進行著色的安全漏洞連結,以及對 UI 小問題的修復。

Failsafe

Failsafe 是一個輕量級、零依賴性的庫,用於處理 Java 8+中的問題,它 釋出 了 3.2.3 版本,修正了一個問題,即在 RetryPolicy 之外使用 Timeout 介面的實現時,在某些條件下無法觸發。關於這個版本的更多細節,可以在 更新日誌 中找到。

原文連結:

Java News Roundup: JDK 19 and Jakarta EE 10 Updates, Ansynch and Buffered Logging by Amazon Corretto