BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース Java Newsラウンドアップ - JDK 19とJakarta EE 10のアップデート、Amazon Correttoの非同期バッファログ

Java Newsラウンドアップ - JDK 19とJakarta EE 10のアップデート、Amazon Correttoの非同期バッファログ

原文(投稿日:2022/03/14)へのリンク

今週、2022年3月7日のJavaラウンドアップは、OpenJDK、JDK 19、Jakarta EE 10、Spring Cloudサブプロジェクトの最新情報、OpenJDK 17で非同期バッファリングログを実現するAmazon Corretto、Apache Groovy 3.0.10と2.5.16、Apache Camel 3.14.2、JRelease早期アクセス、JobRunr 4.0.10、JDKMon 17.0.23、FailSafe 3.2.3といった話題でお届けする。

OpenJDK

JEP 422 Linux/RISC-V Portが"Candidate"から、JDK 19を対象とした"Proposed to Target"に昇格した。このJEPは、フリーでオープンソースのRISCインストラクションセットアーキテクチャのLinux/RISC-Vへの移植を提案したものだ。テンプレートインタプリタ、C1およびC2 JITコンパイラに加えて、ZGCやShenandoahなど現在のメインラインGCのすべてをサポートする。JDKのメインラインリポジトリへの統合を目標とするこのJEPは、2022年3月17日にレビューが完了する予定である。

JDK 18

JDK 18は現在リリース候補(release candidate)のフェーズにあり、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 Bug Database経由で募集している。

Jakarta EE 10

Eclipse FondationのJakarta EEデベロッパアドボケートであるIvar Grimstad氏が、自身のブログである"Hashtag Jakarta EE weekly"の中で、Jakarta EE 10をターゲットとした仕様に関する初期リリースレビューが、2022年2月28日の期限前に無事完了したことを報告した。これはつまり、Jakarta EE 10が2022年5月の提供に向けて順調に進行している、ということだ。

2022年版のJakarta EE Developer Surveyも、同じく先週公開された。今年の調査では、クラウドネイティブなアプリケーション開発に重点が置かれている。

Spring Framework

Springにとって今週は、Spring Cloudチームが2つのサブプロジェクトのポイントリリースを提供したことを除けば、比較的静穏な1週間であった。

スタンドアロンのSpring Bootアプリケーションとして即時実行可能なアプリケーションを提供するサブプロジェクトのSpring Cloud Stream Applicationが、改良とバグ修正をフィーチャーしたバージョン2022.1.1をリリースした。このリリースに関する詳細は、リリースノートを参照して頂きたい。

Alibaba Cloudが運営するコミュニティプロジェクトであるSpring Cloud Alibabaのバージョン 2021.0.1.0がリリースされた。依存関係がNacos 1.4.2、Apache RockerMQ 4.9.2、Sentinel 1.8.3にアップグレードされている。今回のリリースの詳細については、リリースノートを参照して頂きたい。

Amazon Corretto

ディスクへのログの書き込み時、アプリケーションのパフォーマンスがI/Oブロッキングによって低下する問題を確認したAmazon Correttoチームが、解決策として"Support for Optional Asynchronous/Buffered Logging"(JDK-8229517)をOpenJDK 17にコントリビュートした。-Xlog:syncスイッチとUnified Logging(UL)フレームワークを使用することにより、I/Oに起因する長時間のGC停止を回避することができる。同チームの実験では、非同期ロギングによってCPU実時間が34.5パーセント減少し、全体のCPU使用率が102.7から171.6パーセントに増加したことが確認されている。

Quarkus

4回目のメンテナンスリリースとなるQuarkus 2.7.4.Finalが公開された。JReleaser 1.0.0-M3へのアップグレード、RESTEasy Reactiveを古いRESTクライアントで使用した場合のNullPointerExceptionの回避、運用モードでquarkus.http.corsを使用する場合のOpenApiRecorderへのINFOメッセージのログ、HTTPヘッダのHTTP CORSセクションのアップデート、といった変更が含まれている。リリースの詳細はchagelogで確認できる。

さらにRed Hatは、Quarkus Tools for IntelliJの1.10.0もリリースした。セキュリティ上の修正と、Quarkus run/debugコンフィギュレーションのサポートがフィーチャーされている。

Hibernate

Hibernate ORM 6.0に向けた2回目のリリース候補が公開された。Maven Centralに公開されるアーティファクトが署名されるようになった他、BeanManagerインターフェースの実装が利用できないCDIタイミングの問題の修正や、@NitFoundアノテーションからのマッピングの動作に関する修正と改善が含まれている。今回のリリースもJakarta Persistence 3.1仕様TCKをパスする。チームによれば、正式なGAリリースが今後2~4週間以内に提供される予定である。

Apache Groovy

Apache Groovy 3.0.10がリリースされた。91件に上るバグ修正と依存関係のアップグレードに加えて、タイプ引数のチェック、TraitComposerクラスのインスタンスで生成されたメソッドに対する@Generatedアノテーションの付加、アノテーション属性への列挙値のロード、などが改善されている。詳細はリリースノートに記載されている。

Apache Groovy 2.15.6がリリースされた。108件のバグ修正、上記と同じ改善による依存関係のアップグレードに加えて、@Delegateアノテーションにおけるincludeexcludeといったアノテーション属性のプロパティ/メソッド名のチェック、final変数がvolatile指定された場合のコンパイルエラー、不変フィールドのAST変換時にgetterメソッドのみを生成、といった機能がフィーチャーされている。詳細はリリースノートを参照して頂きたい。

Apache Camel

Apache Software Foundationが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早期アクセスリリースの最新版が公開された。jpackageコマンドを冗長モードで実行するための新オプション、非推奨ソースコードの削除などが変更点だ。

JobRunr

Javaでバックグラウンドプロセスを実行するユーティリティであるJobRunrバージョン4.0.10がリリースされた。抽象メンバを含むEnumからJobDetailsクラスのインスタンスを逆シリアライズできない問題や、CronExpressionクラスのインスタンスが12月30日と31日を処理できない問題が修正されている。

JDKMon

インストールされているJDKの監視とアップデートを行う新ツールJDKMon最新バージョンがJavaコミュニティに公開された。AzulのプリンシパルエンジニアであるGerrit Grunwald氏が開発した同ツールのバージョン17.0.23には、依存関係のアップデート、脆弱性リンクのスコアによる色分け、UIの小さな問題の修正が含まれる。

Failsafe

Java 8以降を対象として障害処理を行う、軽量で依存関係を持たないライブラリのFailsafeがバージョン3.2.3をリリースしたRetryPolicy以外で使用する場合に、特定の条件下でTimeoutインターフェースの実装が発火しない問題が修正されている。 リリースの詳細はchangelogに記載されている。

作者について

この記事に星をつける

おすすめ度
スタイル

BT