Quality Outreach Heads-up – JDK 20: java.net.URL parsing fix & behavior change

原文はこちら。
The original article was written by David Delabassee (DevRel – Java Platform Group at Oracle).
https://inside.java/2022/11/22/heads-up/

OpenJDK Quality Groupは、リリースの全体的な品質向上の手段としてOpenJDK Early Accessビルドを使ってのFOSSプロジェクトのテストを推進しています。

Quality Outreach
https://wiki.openjdk.java.net/display/quality/Quality+Outreach

このHeads upは、関係するプロジェクトに送られる定期的なコミュニケーションの一部です。

JDK 20 EAb22, GenZGC EA builds, JavaFX 20 EAb5 and several heads-ups!
https://mail.openjdk.org/pipermail/quality-discuss/2022-November/001099.html

このプログラムの詳細と参加方法については、上記wikiをご覧ください。

JDK 20 – java.net.URL parsing fix & behavior change

JDK 20までは、JDKビルトインの URLStreamHander 実装が実施するパースや検証 (parsing/validation) の中には、 URL::openConnection や URLConnection::connect が呼び出されるまで遅延するものがありました。JDK 20からは、そうしたパースや検証は遅延せずに実行されるようになっています。つまり、URL コンストラクタ内で実行されます。

不正なURLによって引き起こされる例外は、これまでは接続をオープンするか、接続するまで遅延していましたが、JDK 20からは、URLコンストラクタ動作時にMalformedURLExceptionをスローする可能性があります。

Call to Action

この変更に対してコードベースのテストをご提案いたします。そして以前の動作に依存している方向けに、新たなシステムプロパティを導入いたしました。これを使うとコマンドラインで以前の動作に戻すことができます。

訳注

このシステムプロパティはjdk.net.url.delayParsingで、 -Djdk.net.url.delayParsing-Djdk.net.url.delayParsing=trueのようにコマンドラインから指定します。

More Information

[JDK-8293590] Some syntax checks performed by URL.openConnection() could be performed earlier, at URL construction
https://bugs.openjdk.org/browse/JDK-8293590
[JDK-8295750] Release Note: URL constructors called with malformed input may throw MalformedURLException for cases where it wasn’t thrown previously
https://bugs.openjdk.org/browse/JDK-8295750

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト /  変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト /  変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト /  変更 )

%s と連携中