From 2ac83a2fba6d383ba4802eb418718d363140773d Mon Sep 17 00:00:00 2001 From: narugoyal Date: Thu, 7 Apr 2022 19:01:10 +0530 Subject: [PATCH] Fix variables refs in AnnAwareRetryOpsInterceptor - Update `AnnotationAwareRetryOperationsInterceptor` to read values from correct expression for `maxDelayExpression` and `multiplierExpression` - Fix `SpelParseException Expression [#{30000}] @1: EL1043E: Unexpected token. Expected 'identifier' but was 'lcurly({)'` --- .../annotation/AnnotationAwareRetryOperationsInterceptor.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/springframework/retry/annotation/AnnotationAwareRetryOperationsInterceptor.java b/src/main/java/org/springframework/retry/annotation/AnnotationAwareRetryOperationsInterceptor.java index bae2c8e..a06b960 100644 --- a/src/main/java/org/springframework/retry/annotation/AnnotationAwareRetryOperationsInterceptor.java +++ b/src/main/java/org/springframework/retry/annotation/AnnotationAwareRetryOperationsInterceptor.java @@ -378,7 +378,7 @@ public class AnnotationAwareRetryOperationsInterceptor implements IntroductionIn long max = backoff.maxDelay(); String maxDelayExpression = (String) attrs.get("maxDelayExpression"); if (StringUtils.hasText(maxDelayExpression)) { - if (ExpressionRetryPolicy.isTemplate(delayExpression)) { + if (ExpressionRetryPolicy.isTemplate(maxDelayExpression)) { max = PARSER.parseExpression(resolve(maxDelayExpression), PARSER_CONTEXT) .getValue(this.evaluationContext, Long.class); } @@ -389,7 +389,7 @@ public class AnnotationAwareRetryOperationsInterceptor implements IntroductionIn double multiplier = backoff.multiplier(); String multiplierExpression = (String) attrs.get("multiplierExpression"); if (StringUtils.hasText(multiplierExpression)) { - if (ExpressionRetryPolicy.isTemplate(delayExpression)) { + if (ExpressionRetryPolicy.isTemplate(multiplierExpression)) { multiplier = PARSER.parseExpression(resolve(multiplierExpression), PARSER_CONTEXT) .getValue(this.evaluationContext, Double.class); }