2022年5月23日週のJavaラウンドアップは、OpenJDK、JDK 19、仮想スレッド、Javaが27歳に、Jakarta EE 10、Spring Frameworkポイント&マイルストーンリリース、Micronaut 3.5.0、Quarkus 2.9.2.Final、Quarkus Tools for IntelliJ 1.11.0, Hibernate ORM 6.0.2.Final, Apache Tika 1.28.3 および Spring I/O conference のニュースをお届けする。
OpenJDK
JEP 405, レコードパターン(プレビュー)が、JDK 19 の Proposed to Target から Targeted に昇格した。この JEP は Project Amber の支援のもと、レコード値を分解する record patterns で言語を強化することを提案している。record patterns は type patterns と組み合わせて使用することで「強力で宣言的、かつ構成可能なデータナビゲーションと処理の形式を実現する」ことができる。type patterns は最近、JEP 406 switchのパターンマッチング(プレビュー)(JDK 17で提供)、および JEP 420 switch のパターンマッチング(セカンドプレビュー)(JDK 18で提供)を通じて switch
case ラベルで使用するために拡張された。JEP 405 の詳細については、こちらのInfoQニュースストーリーをご覧いただきたい。
JEP 428 構造化同時実行(インキュベーター)は、JDK 19 の Candidate から Proposed to Target へと昇格した。このインキュベートJEPは Project Loom の支援のもと、異なるスレッドで実行される複数のタスクを単一の作業単位として扱うライブラリを導入することにより、マルチスレッドプログラミングを簡素化することを提案している。これにより、エラー処理やキャンセル処理の効率化、信頼性の向上、観測性の向上が期待できる。このレビューは2022年6月2日に終了する予定である。InfoQではより詳細なニュースを追ってお伝えする。
JDK 19
今週、JDK 19 の アーリーアクセスビルドである Build 24 が公開された。Build 23からの更新で、さまざまな問題. の修正が含まれている。詳細はリリースノートに記載されている。
開発者は Java Bug Database を通じてバグを報告することが推奨される。
Virtual Threads
DK 19は Project Loom に関連する少なくとも2つのJEPを備えている。オープンソース開発者で Java Champion の Gunnar Morling氏は、先週仮想スレッドに関するブログを書き、I/OバウンドとCPUバウンドのソースコードに関連するスレッドの公平性に焦点を当てた。
Java Turns 27
Java、27歳の誕生日おめでとう!1995年5月23日に開催されたSun World 1995 Conferenceで、プログラミング言語Javaが世界に紹介された。OpenJDKの下流に位置する Liberica JDK を開発した BellSoft はこの機会を記念して、言語の過去、現在、未来を強調した。
Jakarta EE
Jakarta EE 10への道程において、Eclipse Foundation の Jakarta EE developer advocateである Ivar Grimstad氏は、Hashtag Jakarta EE weekly blog で Jakarta EE 10 を対象とする全ての仕様のリリースレビューが完了し、例外として Jakarta Security 3.0 がまもなく完了することを発表した。開発者は、新しい Jakarta EE Core Profile のプルリクエストを確認し、必要に応じてフィードバックを提供することが推奨される。そして最後に、最近リリースされた WildFly 27.0.0.Alpha1 から JDK 11 と JDK 17 の認証リクエストが提出されている。
Spring Framework
Springチームにとって非常に忙しい1週間が過ぎ、先週は Spring Vault, Spring Cloud, Spring Authorization Server のマイルストーンとポイントリリースで少し静かな1週間となった。
Spring Vault 2.4.0 および 3.0.0 に向けて、最初のマイルストーン・リリースが公開された。バージョン 2.4.0-M1の新機能としては、楕円曲線(EC)を含む PEMエンコードされた証明書と秘密鍵、バージョン管理された鍵/値の秘密エンジンを使った Vaultリポジトリ、バージョン管理された鍵/値の秘密エンジンを使った Vaultベースの RevisionRepository のサポートである。バージョン 3.0.0-M1には、Java 17ベースライン、Spring Framework 6、AWS SDK v2へのアップグレードも含まれている。
Spring Cloud 2021.0.3 は Spring Boot 2.7.0 と互換性があり、バグ修正とサブプロジェクト Spring Cloud Sleuth, Spring Cloud Contract, Spring Cloud Gateway のマイナーな機能強化がなされたリリースである。このリリースの詳細はリリースノートを参照されたい。
Spring Authorization Server 0.3.0がリリースされ、新機能、依存関係のアップグレード、バグフィックスが提供された。また、いくつかの重大な変更もある。詳細はリリースノートに記載されている。
Micronaut
Micronaut Foundationは、GraalVM 22.1.0のサポート、Gradleビルドのインクリメンタル・コンパイル、Micronaut Data 3.4.0、新規モジュール Micronaut MicroStream、Micronaut Maven Plugin と Micronaut Gradle Plugin の更新を含むMicronaut 3.5.0 をリリースした。本リリースの詳細については、リリースノートを参照いただきたい。
Quarkus
Red Hatは、Quarkus 2.9.2.Finalを提供した。これは、バグ修正とドキュメントの改善、およびHibernate Reactive 1.1.6.Finalへの依存関係のアップグレードを含む2回目のメンテナンスリリースである。このリリースの詳細は、変更履歴を参照されたい。
Red Hatは Quarkus Tools for IntelliJ 1.11.0もリリースし、Eclipse Language Server for MicroProfile (LSP4MP) 0.4.0 と quarkus-ls 0.11.1(LSP4MP のQuarkus拡張)に沿った Qute テンプレートへのサポートを追加している。
Hibernate
Hibernate ORM 6.0.2.Finalがリリースされ、LazyAttributeLoadingInterceptor
クラスがレイジーフィールドを処理する方法が改善され、処理がより効率的になり、メモリが節約されるようになった。
Apache Tika
Apache Tika チームがメタデータ抽出ツールキットのバージョン 1.28.3 をリリースした。以前は Apache Lucene のサブプロジェクトであったが、この最新版ではセキュリティ修正と依存関係のアップグレードが行われている。このリリースの詳細は、変更履歴を参照していただきたい。1.xリリーストレインは2022年9月30日に終了する。
Spring I/O Conference
先週、スペイン・バルセロナの Palau de Congressos de Barcelona で Spring I/O カンファレンスが開催され、Javaコミュニティから多くの講演者が集まり、SpringやJava関連のトピックに関する講演が行われた。