From 8921be18de88a0a1e63136c9d77d52eeea0acbe2 Mon Sep 17 00:00:00 2001 From: Juergen Hoeller Date: Fri, 24 Nov 2023 23:25:01 +0100 Subject: [PATCH] Properly return loaded type even if identified as reloadable Closes gh-31668 --- .../expression/spel/support/StandardTypeLocator.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/spring-expression/src/main/java/org/springframework/expression/spel/support/StandardTypeLocator.java b/spring-expression/src/main/java/org/springframework/expression/spel/support/StandardTypeLocator.java index 90e960de676..816b66cb71c 100644 --- a/spring-expression/src/main/java/org/springframework/expression/spel/support/StandardTypeLocator.java +++ b/spring-expression/src/main/java/org/springframework/expression/spel/support/StandardTypeLocator.java @@ -120,9 +120,10 @@ public class StandardTypeLocator implements TypeLocator { return cachedType; } Class loadedType = loadType(typeName); - if (loadedType != null && - !(this.classLoader instanceof SmartClassLoader scl && scl.isClassReloadable(loadedType))) { - this.typeCache.put(typeName, loadedType); + if (loadedType != null) { + if (!(this.classLoader instanceof SmartClassLoader scl && scl.isClassReloadable(loadedType))) { + this.typeCache.put(typeName, loadedType); + } return loadedType; } throw new SpelEvaluationException(SpelMessage.TYPE_NOT_FOUND, typeName);