Browse Source

Properly return loaded type even if identified as reloadable

Closes gh-31668
pull/31694/head
Juergen Hoeller 2 years ago
parent
commit
8921be18de
  1. 5
      spring-expression/src/main/java/org/springframework/expression/spel/support/StandardTypeLocator.java

5
spring-expression/src/main/java/org/springframework/expression/spel/support/StandardTypeLocator.java

@ -120,9 +120,10 @@ public class StandardTypeLocator implements TypeLocator {
return cachedType; return cachedType;
} }
Class<?> loadedType = loadType(typeName); Class<?> loadedType = loadType(typeName);
if (loadedType != null && if (loadedType != null) {
!(this.classLoader instanceof SmartClassLoader scl && scl.isClassReloadable(loadedType))) { if (!(this.classLoader instanceof SmartClassLoader scl && scl.isClassReloadable(loadedType))) {
this.typeCache.put(typeName, loadedType); this.typeCache.put(typeName, loadedType);
}
return loadedType; return loadedType;
} }
throw new SpelEvaluationException(SpelMessage.TYPE_NOT_FOUND, typeName); throw new SpelEvaluationException(SpelMessage.TYPE_NOT_FOUND, typeName);

Loading…
Cancel
Save