-
Notifications
You must be signed in to change notification settings - Fork 38.6k
Closed
Labels
in: coreIssues in core modules (aop, beans, core, context, expression)Issues in core modules (aop, beans, core, context, expression)theme: aotAn issue related to Ahead-of-time processingAn issue related to Ahead-of-time processingtype: enhancementA general enhancementA general enhancement
Milestone
Description
See #31213 for background.
This issue is similar to #31293, but this time applies to missing reflection hints on Java Interfaces. When the bean introspection processes a bean, we are reflecting on public (including inherited) methods and declared methods on the type itself, then looking at super classes and interfaces. While super classes are already covered by existing hints, introspecting interfaces for default methods and bean property methods is missing right now.
This results in exception like:
org.graalvm.nativeimage.MissingReflectionRegistrationError: The program tried to reflectively access org.springframework.core.Ordered.getMethods() without it being registered for runtime reflection. Add org.springframework.core.Ordered.getMethods() to the reflection metadata to solve this problem. See https://www.graalvm.org/latest/reference-manual/native-image/metadata/#reflection for help.
java.base@21/java.lang.Class.getMethods(DynamicHub.java:1004)
org.springframework.beans.PropertyDescriptorUtils.determineBasicProperties(PropertyDescriptorUtils.java:62)
org.springframework.beans.SimpleBeanInfoFactory.getBeanInfo(SimpleBeanInfoFactory.java:53)
org.springframework.beans.CachedIntrospectionResults.getBeanInfo(CachedIntrospectionResults.java:228)
Metadata
Metadata
Assignees
Labels
in: coreIssues in core modules (aop, beans, core, context, expression)Issues in core modules (aop, beans, core, context, expression)theme: aotAn issue related to Ahead-of-time processingAn issue related to Ahead-of-time processingtype: enhancementA general enhancementA general enhancement