|
38 | 38 | import com.oracle.svm.core.jdk.proxy.DynamicProxyRegistry;
|
39 | 39 | import com.oracle.svm.core.jni.JNIRuntimeAccess;
|
40 | 40 | import com.oracle.svm.util.ReflectionUtil;
|
| 41 | +import org.graalvm.nativeimage.impl.ConfigurationCondition; |
41 | 42 |
|
42 | 43 | @AutomaticallyRegisteredFeature
|
43 | 44 | public class JmxCommonFeature implements InternalFeature {
|
@@ -157,22 +158,27 @@ public void beforeAnalysis(BeforeAnalysisAccess access) {
|
157 | 158 | */
|
158 | 159 | private static void configureProxy(BeforeAnalysisAccess access) {
|
159 | 160 | DynamicProxyRegistry dynamicProxySupport = ImageSingletons.lookup(DynamicProxyRegistry.class);
|
160 |
| - dynamicProxySupport.addProxyClass(access.findClassByName("com.sun.management.GarbageCollectorMXBean"), access.findClassByName("javax.management.NotificationEmitter")); |
161 |
| - dynamicProxySupport.addProxyClass(access.findClassByName("com.sun.management.OperatingSystemMXBean")); |
162 |
| - dynamicProxySupport.addProxyClass(access.findClassByName("com.sun.management.ThreadMXBean")); |
163 |
| - dynamicProxySupport.addProxyClass(access.findClassByName("com.sun.management.UnixOperatingSystemMXBean")); |
164 |
| - dynamicProxySupport.addProxyClass(access.findClassByName("java.lang.management.BufferPoolMXBean")); |
165 |
| - dynamicProxySupport.addProxyClass(access.findClassByName("java.lang.management.ClassLoadingMXBean")); |
166 |
| - dynamicProxySupport.addProxyClass(access.findClassByName("java.lang.management.CompilationMXBean")); |
167 |
| - dynamicProxySupport.addProxyClass(access.findClassByName("java.lang.management.GarbageCollectorMXBean"), access.findClassByName("javax.management.NotificationEmitter")); |
168 |
| - dynamicProxySupport.addProxyClass(access.findClassByName("java.lang.management.MemoryManagerMXBean"), access.findClassByName("javax.management.NotificationEmitter")); |
169 |
| - dynamicProxySupport.addProxyClass(access.findClassByName("java.lang.management.MemoryManagerMXBean")); |
170 |
| - dynamicProxySupport.addProxyClass(access.findClassByName("java.lang.management.MemoryPoolMXBean"), access.findClassByName("javax.management.NotificationEmitter")); |
171 |
| - dynamicProxySupport.addProxyClass(access.findClassByName("java.lang.management.MemoryMXBean"), access.findClassByName("javax.management.NotificationEmitter")); |
172 |
| - dynamicProxySupport.addProxyClass(access.findClassByName("java.lang.management.OperatingSystemMXBean")); |
173 |
| - dynamicProxySupport.addProxyClass(access.findClassByName("java.lang.management.RuntimeMXBean")); |
174 |
| - dynamicProxySupport.addProxyClass(access.findClassByName("java.lang.management.ThreadMXBean")); |
175 |
| - dynamicProxySupport.addProxyClass(access.findClassByName("jdk.management.jfr.FlightRecorderMXBean"), |
| 161 | + dynamicProxySupport.addProxyClass(ConfigurationCondition.alwaysTrue(), access.findClassByName("com.sun.management.GarbageCollectorMXBean"), |
| 162 | + access.findClassByName("javax.management.NotificationEmitter")); |
| 163 | + dynamicProxySupport.addProxyClass(ConfigurationCondition.alwaysTrue(), access.findClassByName("com.sun.management.OperatingSystemMXBean")); |
| 164 | + dynamicProxySupport.addProxyClass(ConfigurationCondition.alwaysTrue(), access.findClassByName("com.sun.management.ThreadMXBean")); |
| 165 | + dynamicProxySupport.addProxyClass(ConfigurationCondition.alwaysTrue(), access.findClassByName("com.sun.management.UnixOperatingSystemMXBean")); |
| 166 | + dynamicProxySupport.addProxyClass(ConfigurationCondition.alwaysTrue(), access.findClassByName("java.lang.management.BufferPoolMXBean")); |
| 167 | + dynamicProxySupport.addProxyClass(ConfigurationCondition.alwaysTrue(), access.findClassByName("java.lang.management.ClassLoadingMXBean")); |
| 168 | + dynamicProxySupport.addProxyClass(ConfigurationCondition.alwaysTrue(), access.findClassByName("java.lang.management.CompilationMXBean")); |
| 169 | + dynamicProxySupport.addProxyClass(ConfigurationCondition.alwaysTrue(), access.findClassByName("java.lang.management.GarbageCollectorMXBean"), |
| 170 | + access.findClassByName("javax.management.NotificationEmitter")); |
| 171 | + dynamicProxySupport.addProxyClass(ConfigurationCondition.alwaysTrue(), access.findClassByName("java.lang.management.MemoryManagerMXBean"), |
| 172 | + access.findClassByName("javax.management.NotificationEmitter")); |
| 173 | + dynamicProxySupport.addProxyClass(ConfigurationCondition.alwaysTrue(), access.findClassByName("java.lang.management.MemoryManagerMXBean")); |
| 174 | + dynamicProxySupport.addProxyClass(ConfigurationCondition.alwaysTrue(), access.findClassByName("java.lang.management.MemoryPoolMXBean"), |
| 175 | + access.findClassByName("javax.management.NotificationEmitter")); |
| 176 | + dynamicProxySupport.addProxyClass(ConfigurationCondition.alwaysTrue(), access.findClassByName("java.lang.management.MemoryMXBean"), |
| 177 | + access.findClassByName("javax.management.NotificationEmitter")); |
| 178 | + dynamicProxySupport.addProxyClass(ConfigurationCondition.alwaysTrue(), access.findClassByName("java.lang.management.OperatingSystemMXBean")); |
| 179 | + dynamicProxySupport.addProxyClass(ConfigurationCondition.alwaysTrue(), access.findClassByName("java.lang.management.RuntimeMXBean")); |
| 180 | + dynamicProxySupport.addProxyClass(ConfigurationCondition.alwaysTrue(), access.findClassByName("java.lang.management.ThreadMXBean")); |
| 181 | + dynamicProxySupport.addProxyClass(ConfigurationCondition.alwaysTrue(), access.findClassByName("jdk.management.jfr.FlightRecorderMXBean"), |
176 | 182 | access.findClassByName("javax.management.NotificationEmitter"));
|
177 | 183 | }
|
178 | 184 |
|
|
0 commit comments