OpenJDKとJEPのニュースにとって比較的静かな週だった。JEP 409: Sealed Classes とJEP 410: 候補ステータスに昇格した実験的なAOTとJITコンパイラの削除。ただしこれらはまだリリース対象ではない。
後者は、OpenJDKのGraalコンパイラの道の終わりを示している。コンパイラ用の実験的なJVMCIインターフェースはOpenJDKに引き続き存在するが、Java-in-JavaバージョンのGraalは出荷されなくなる。ただし、Graalテクノロジの開発は、OracleのGraalVMプロジェクトで継続される。
他の場所では、Apache Mavenが人気のあるJavaビルドツールのバージョン 3.8.1をリリースした。
パラメータ化されたテストランナとしてGoogleはTestParameterInjectorを導入した。JUnit 5ではすでに junit-jupiter-params
ライブラリを介してパラメータ化されたテストをサポートしているため、このツールはJUnit 4用だ。
エンタープライズJavaの空間では、2021 Jakarta EE Developer Surveyが開始され、2021年4月30日まで開かれている。
Payara Platform Communityのバージョン 5.2021.2のリリースをPayaraは発表した。コミュニティリリースに加えて、Payara Platform Enterprise 5.27.0もリリースされ、アップグレードツールのアップデートなど、さまざまな改善と新機能が付属している。自動化されたJBatchジョブ実行データのクリーンアップ機能とプラグ可能なNotifier APIの登場だ。
GlassfishアプリケーションサーバはJava 16互換になる。つまり、Glassfishは、数が増えているJava 16と互換性があることが知られている人気のあるJavaライブラリとフレームワークにジョインする。
他の最近のJava機能リリースとは異なり、Java 16には、JEP 396形式で、採用に対して追加の障壁がある。このJEPは、JDK内部へのリフレクティブアクセスのデフォルトのアクセス許可を (以前の許可と警告の発行から) 拒否に変更している。Java 16でも、コマンドラインフラグを使用して現状を復元することは可能だ。
この変更は、ユーザの介入なしに、内部へのカプセル化を破るアクセスを引き続き利用するライブラリに依存するアプリケーションが機能しなくなることを意味する。これにより、Java 16への移行は、他のバージョンのアップグレードよりもスムーズでなくなる可能性がある。
これは、Mark Reinhold氏などが宣伝するTwitterハッシュタグ #AllTestsGreenOnJDK16 で議論されている。