diff --git a/core/src/main/java/org/springframework/plugin/core/aot/PluginRegistryRuntimeHints.java b/core/src/main/java/org/springframework/plugin/core/aot/PluginRegistryRuntimeHints.java index 09a3c71..ddc3cb0 100644 --- a/core/src/main/java/org/springframework/plugin/core/aot/PluginRegistryRuntimeHints.java +++ b/core/src/main/java/org/springframework/plugin/core/aot/PluginRegistryRuntimeHints.java @@ -23,6 +23,8 @@ import org.springframework.aot.hint.RuntimeHints; import org.springframework.aot.hint.RuntimeHintsRegistrar; import org.springframework.core.DecoratingProxy; import org.springframework.plugin.core.support.AbstractTypeAwareSupport; +import org.springframework.plugin.core.support.PluginRegistryFactoryBean; +import org.springframework.util.ReflectionUtils; /** * Registers proxy runtime hints to make sure {@link AbstractTypeAwareSupport} can create a {@link List} proxy as @@ -38,7 +40,13 @@ class PluginRegistryRuntimeHints implements RuntimeHintsRegistrar { * @see org.springframework.aot.hint.RuntimeHintsRegistrar#registerHints(org.springframework.aot.hint.RuntimeHints, java.lang.ClassLoader) */ @Override + @SuppressWarnings("null") public void registerHints(RuntimeHints hints, ClassLoader classLoader) { - hints.proxies().registerJdkProxy(List.class, SpringProxy.class, Advised.class, DecoratingProxy.class); + + hints.reflection() // + .registerMethod(ReflectionUtils.findMethod(PluginRegistryFactoryBean.class, "setType", Class.class)); + + hints.proxies() // + .registerJdkProxy(List.class, SpringProxy.class, Advised.class, DecoratingProxy.class); } }