原文はこちら。
The original article was written by David Delabassee (DevRel – Java Platform Group at Oracle).
https://inside.java/2023/02/20/quality-heads-up/
OpenJDK Quality Groupは、リリースの全体的な品質向上の手段としてOpenJDK Early Accessビルドを使ってのFOSSプロジェクトのテストを推進しています。
Quality Outreach
https://wiki.openjdk.java.net/display/quality/Quality+Outreach
このHeads upは、関係するプロジェクトに送られる定期的なコミュニケーションの一部です。
JDK 20 Release Candidate and Deprecation
https://mail.openjdk.org/pipermail/quality-discuss/2023-February/001111.html
このプログラムの詳細と参加方法については、上記wikiをご覧ください。
JDK 20 – JMX Connections Use an ObjectInputFilter by Default
デフォルトのJMXエージェントでは、RMI接続でObjectInputFilter
を設定するようになります。これはサーバーがデシリアライズする型を制限するためです。
ObjectInputFilter (Java SE 19 & JDK 19)
https://docs.oracle.com/en/java/javase/19/docs/api/java.base/java/io/ObjectInputFilter.html
https://docs.oracle.com/javase/jp/19/docs/api/java.base/java/io/ObjectInputFilter.html
この設定によってJDKのMBeansの通常の利用に影響することはないはずです。プラットフォームのMBeanServerに自身のMBeansを登録するアプリケーションの場合、パラメータとしてカスタムMBeansを受け入れる任意の型をサポートするようにシリアライズフィルタを拡張する必要が出てくる可能性があります。
MBeanServer (Java SE 19 & JDK 19)
https://docs.oracle.com/en/java/javase/19/docs/api/java.management/javax/management/MBeanServer.html
https://docs.oracle.com/javase/jp/19/docs/api/java.management/javax/management/MBeanServer.html
デフォルトフィルタでは既にOpenMBeansやMXBeansが利用する全ての型に対応しています。
シリアライゼーションフィルターパターンは、com.sun.management.jmxremote.serial.filter.pattern
というプロパティを使用し、JDK/conf/management/management.properties
に設定します。
その他のJavaの型を渡す必要がある場合、以下の記述を追加して実行するとデフォルト構成をオーバーライドできます。
-Dcom.sun.management.jmxremote.serial.filter.pattern=...
Serialization FilteringとフィルターパターンフォーマットについてはCore Libraries Guideに詳細が記載されています。
Serialization Filtering
https://docs.oracle.com/en/java/javase/19/core/serialization-filtering1.html#GUID-55BABE96-3048-4A9F-A7E6-781790FF3480
https://docs.oracle.com/javase/jp/19/core/serialization-filtering1.html#GUID-55BABE96-3048-4A9F-A7E6-781790FF3480
本件の詳細は以下のBugをご覧ください。
[JDK-8283093] JMX connections should default to using an ObjectInputFilter
https://bugs.openjdk.org/browse/JDK-8283093