From 9d57dabe2f1306d0613c0614021a8f31e4a978d3 Mon Sep 17 00:00:00 2001 From: Sam Brannen <104798+sbrannen@users.noreply.github.com> Date: Sun, 17 Aug 2025 19:17:12 +0200 Subject: [PATCH] Rename exception variables to clarify intent --- .../core/retry/RetryTemplate.java | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/spring-core/src/main/java/org/springframework/core/retry/RetryTemplate.java b/spring-core/src/main/java/org/springframework/core/retry/RetryTemplate.java index ee511807017..274074413bb 100644 --- a/spring-core/src/main/java/org/springframework/core/retry/RetryTemplate.java +++ b/spring-core/src/main/java/org/springframework/core/retry/RetryTemplate.java @@ -133,8 +133,8 @@ public class RetryTemplate implements RetryOperations { Deque exceptions = new ArrayDeque<>(); exceptions.add(initialException); - Throwable retryException = initialException; - while (this.retryPolicy.shouldRetry(retryException)) { + Throwable lastException = initialException; + while (this.retryPolicy.shouldRetry(lastException)) { try { long duration = backOffExecution.nextBackOff(); if (duration == BackOffExecution.STOP) { @@ -159,23 +159,23 @@ public class RetryTemplate implements RetryOperations { .formatted(retryableName)); return result; } - catch (Throwable currentAttemptException) { + catch (Throwable currentException) { logger.debug(() -> "Retry attempt for operation '%s' failed due to '%s'" - .formatted(retryableName, currentAttemptException)); - this.retryListener.onRetryFailure(this.retryPolicy, retryable, currentAttemptException); - exceptions.add(currentAttemptException); - retryException = currentAttemptException; + .formatted(retryableName, currentException)); + this.retryListener.onRetryFailure(this.retryPolicy, retryable, currentException); + exceptions.add(currentException); + lastException = currentException; } } // The RetryPolicy has exhausted at this point, so we throw a RetryException with the - // initial exception as the cause and remaining exceptions as suppressed exceptions. - RetryException finalException = new RetryException( + // last exception as the cause and remaining exceptions as suppressed exceptions. + RetryException retryException = new RetryException( "Retry policy for operation '%s' exhausted; aborting execution".formatted(retryableName), exceptions.removeLast()); - exceptions.forEach(finalException::addSuppressed); - this.retryListener.onRetryPolicyExhaustion(this.retryPolicy, retryable, retryException); - throw finalException; + exceptions.forEach(retryException::addSuppressed); + this.retryListener.onRetryPolicyExhaustion(this.retryPolicy, retryable, lastException); + throw retryException; } }