From c78a67abe3db9038d923cee620436a63b80b5413 Mon Sep 17 00:00:00 2001 From: Johnny Lim Date: Thu, 24 Jul 2025 22:23:14 +0900 Subject: [PATCH] Share SpelExpressionParser in SpelValueExpressionResolver See gh-46532 Signed-off-by: Johnny Lim --- .../autoconfigure/SpelValueExpressionResolver.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/module/spring-boot-observation/src/main/java/org/springframework/boot/observation/autoconfigure/SpelValueExpressionResolver.java b/module/spring-boot-observation/src/main/java/org/springframework/boot/observation/autoconfigure/SpelValueExpressionResolver.java index b62c2e7d556..a31aa038766 100644 --- a/module/spring-boot-observation/src/main/java/org/springframework/boot/observation/autoconfigure/SpelValueExpressionResolver.java +++ b/module/spring-boot-observation/src/main/java/org/springframework/boot/observation/autoconfigure/SpelValueExpressionResolver.java @@ -30,12 +30,13 @@ import org.springframework.expression.spel.support.SimpleEvaluationContext; */ class SpelValueExpressionResolver implements ValueExpressionResolver { + private final ExpressionParser expressionParser = new SpelExpressionParser(); + @Override public String resolve(String expression, Object parameter) { try { SimpleEvaluationContext context = SimpleEvaluationContext.forReadOnlyDataBinding().build(); - ExpressionParser expressionParser = new SpelExpressionParser(); - Expression expressionToEvaluate = expressionParser.parseExpression(expression); + Expression expressionToEvaluate = this.expressionParser.parseExpression(expression); return expressionToEvaluate.getValue(context, parameter, String.class); } catch (Exception ex) {