Polish core retry internals

This commit is contained in:
Sam Brannen
2025-09-08 15:03:50 +02:00
parent 9849094586
commit 8f34a67024
3 changed files with 7 additions and 4 deletions
@@ -44,7 +44,7 @@ import java.util.Objects;
public class RetryException extends Exception {
@Serial
private static final long serialVersionUID = 5439915454935047936L;
private static final long serialVersionUID = 1L;
/**
@@ -16,6 +16,7 @@
package org.springframework.core.retry;
import java.io.Serial;
import java.util.ArrayDeque;
import java.util.Deque;
@@ -148,7 +149,7 @@ public class RetryTemplate implements RetryOperations {
.formatted(retryableName));
// Retry process starts here
BackOffExecution backOffExecution = this.retryPolicy.getBackOff().start();
Deque<Throwable> exceptions = new ArrayDeque<>();
Deque<Throwable> exceptions = new ArrayDeque<>(4);
exceptions.add(initialException);
Throwable lastException = initialException;
@@ -200,8 +201,10 @@ public class RetryTemplate implements RetryOperations {
}
}
private static class RetryInterruptedException extends RetryException {
@Serial
private static final long serialVersionUID = 1L;
@@ -213,7 +216,6 @@ public class RetryTemplate implements RetryOperations {
public int getRetryCount() {
return (getSuppressed().length - 1);
}
}
}
@@ -46,6 +46,7 @@ public class CompositeRetryListener implements RetryListener {
/**
* Create a new {@code CompositeRetryListener}.
* @see #addListener(RetryListener)
*/
public CompositeRetryListener() {
}
@@ -56,7 +57,7 @@ public class CompositeRetryListener implements RetryListener {
* @param listeners the list of delegate listeners to register; must not be empty
*/
public CompositeRetryListener(List<RetryListener> listeners) {
Assert.notEmpty(listeners, "RetryListener List must not be empty");
Assert.notEmpty(listeners, "RetryListener list must not be empty");
this.listeners.addAll(listeners);
}