diff --git a/substratevm/src/com.oracle.svm.hosted/src/com/oracle/svm/hosted/image/PreserveOptionsSupport.java b/substratevm/src/com.oracle.svm.hosted/src/com/oracle/svm/hosted/image/PreserveOptionsSupport.java index d5eb2283e67a..ccc48aa6150b 100644 --- a/substratevm/src/com.oracle.svm.hosted/src/com/oracle/svm/hosted/image/PreserveOptionsSupport.java +++ b/substratevm/src/com.oracle.svm.hosted/src/com/oracle/svm/hosted/image/PreserveOptionsSupport.java @@ -106,6 +106,8 @@ public class PreserveOptionsSupport extends IncludeOptionsSupport { "jdk.security.auth", "jdk.crypto.cryptoki", "java.logging", + "jdk.management", + "java.management", "java.naming", "jdk.naming.dns", "jdk.httpserver", diff --git a/substratevm/src/com.oracle.svm.hosted/src/com/oracle/svm/hosted/jdk/JDKInitializationFeature.java b/substratevm/src/com.oracle.svm.hosted/src/com/oracle/svm/hosted/jdk/JDKInitializationFeature.java index 54017d5e44ad..74c4cc2946dc 100644 --- a/substratevm/src/com.oracle.svm.hosted/src/com/oracle/svm/hosted/jdk/JDKInitializationFeature.java +++ b/substratevm/src/com.oracle.svm.hosted/src/com/oracle/svm/hosted/jdk/JDKInitializationFeature.java @@ -85,6 +85,8 @@ public void afterRegistration(AfterRegistrationAccess access) { rci.initializeAtBuildTime("javax.tools", JDK_CLASS_REASON); rci.initializeAtBuildTime("javax.xml", JDK_CLASS_REASON); + rci.initializeAtBuildTime("jdk.management.jfr.internal.FlightRecorderMXBeanProvider$SingleMBeanComponent", "Ends up in the image heap with -H:Preserve=all"); + rci.initializeAtBuildTime("jdk.internal", JDK_CLASS_REASON); rci.initializeAtBuildTime("jdk.jfr", "Needed for Native Image substitutions"); rci.initializeAtRunTime("jdk.jfr.snippets.Snippets$HelloWorld", "Fails build-time initialization"); @@ -107,6 +109,7 @@ public void afterRegistration(AfterRegistrationAccess access) { rci.initializeAtBuildTime("sun.invoke", JDK_CLASS_REASON); rci.initializeAtBuildTime("sun.launcher", JDK_CLASS_REASON); rci.initializeAtBuildTime("sun.management", JDK_CLASS_REASON); + rci.initializeAtRunTime("sun.management.ManagementFactoryHelper$PlatformLoggingImpl", "Holds instances of LoggingMXBeanAccess"); rci.initializeAtBuildTime("sun.misc", JDK_CLASS_REASON); rci.initializeAtBuildTime("sun.net", JDK_CLASS_REASON); @@ -195,6 +198,7 @@ public void afterRegistration(AfterRegistrationAccess access) { rci.initializeAtBuildTime("com.sun.crypto.provider", JDK_CLASS_REASON); rci.initializeAtBuildTime("com.sun.security.auth", JDK_CLASS_REASON); rci.initializeAtBuildTime("com.sun.security.jgss", JDK_CLASS_REASON); + rci.initializeAtRunTime("sun.security.jgss.wrapper.Krb5Util", "Holds the cleaner thread"); rci.initializeAtBuildTime("com.sun.security.cert.internal.x509", JDK_CLASS_REASON); rci.initializeAtBuildTime("com.sun.security.ntlm", JDK_CLASS_REASON);