Narrow early initialization of CGLIB method proxies (for AOT processing)

Do not trigger early initialization on Factory classes (e.g. AOP proxies)

See gh-29107
This commit is contained in:
Juergen Hoeller
2022-10-03 18:00:57 +02:00
parent 3b2b36d0b8
commit 1b1682eacd

View File

@@ -57,8 +57,8 @@ public class MethodProxy {
proxy.createInfo = new CreateInfo(c1, c2); proxy.createInfo = new CreateInfo(c1, c2);
// SPRING PATCH BEGIN // SPRING PATCH BEGIN
if (!c1.isInterface() && c1 != Object.class) { if (!c1.isInterface() && c1 != Object.class && !Factory.class.isAssignableFrom(c2)) {
// Try early initialization for overridden methods on subclasses // Try early initialization for overridden methods on specifically purposed subclasses
try { try {
proxy.init(); proxy.init();
} }