Skip to content

Commit daef8b6

Browse files
Add missing reflection hints for generated cglib proxies.
Closes: spring-projects#4217
1 parent f671a9b commit daef8b6

File tree

1 file changed

+8
-1
lines changed

1 file changed

+8
-1
lines changed

spring-data-mongodb/src/main/java/org/springframework/data/mongodb/aot/LazyLoadingProxyAotProcessor.java

+8-1
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
import java.util.Set;
2424

2525
import org.springframework.aot.generate.GenerationContext;
26+
import org.springframework.aot.hint.MemberCategory;
2627
import org.springframework.aot.hint.TypeReference;
2728
import org.springframework.core.ResolvableType;
2829
import org.springframework.core.annotation.AnnotatedElementUtils;
@@ -74,7 +75,13 @@ void registerLazyLoadingProxyIfNeeded(Class<?> type, GenerationContext generatio
7475

7576
generationContext.getRuntimeHints().proxies().registerJdkProxy(interfaces.toArray(Class[]::new));
7677
} else {
77-
LazyLoadingProxyFactory.resolveProxyType(field.getType(), () -> LazyLoadingInterceptor.none());
78+
79+
Class<?> proxyClass = LazyLoadingProxyFactory.resolveProxyType(field.getType(),
80+
() -> LazyLoadingInterceptor.none());
81+
82+
// see: spring-projects/spring-framework/issues/29309
83+
generationContext.getRuntimeHints().reflection().registerType(proxyClass,
84+
MemberCategory.INVOKE_DECLARED_CONSTRUCTORS, MemberCategory.INVOKE_DECLARED_METHODS, MemberCategory.DECLARED_FIELDS);
7885
}
7986
});
8087
}

0 commit comments

Comments
 (0)