Make built-in RetryPolicy implementations final

Closes gh-35040
This commit is contained in:
Sam Brannen
2025-06-12 16:43:06 +02:00
parent fb0fb21b78
commit ff167aafa2
4 changed files with 9 additions and 15 deletions

View File

@@ -27,7 +27,7 @@ import org.springframework.util.Assert;
* @author Sam Brannen
* @since 7.0
*/
public class MaxRetryAttemptsPolicy implements RetryPolicy {
public final class MaxRetryAttemptsPolicy implements RetryPolicy {
/**
* The default maximum number of retry attempts: {@value}.

View File

@@ -30,7 +30,7 @@ import org.springframework.util.Assert;
* @author Sam Brannen
* @since 7.0
*/
public class MaxRetryDurationPolicy implements RetryPolicy {
public final class MaxRetryDurationPolicy implements RetryPolicy {
/**
* The default maximum retry duration: 3 seconds.

View File

@@ -28,7 +28,7 @@ import org.springframework.core.retry.RetryPolicy;
* @author Sam Brannen
* @since 7.0
*/
public class PredicateRetryPolicy implements RetryPolicy {
public final class PredicateRetryPolicy implements RetryPolicy {
private final Predicate<Throwable> predicate;

View File

@@ -20,7 +20,6 @@ import java.time.Duration;
import org.junit.jupiter.api.Test;
import org.springframework.core.retry.support.MaxRetryAttemptsPolicy;
import org.springframework.util.backoff.FixedBackOff;
import static org.assertj.core.api.Assertions.assertThat;
@@ -110,20 +109,15 @@ class RetryTemplateTests {
}
};
MaxRetryAttemptsPolicy retryPolicy = new MaxRetryAttemptsPolicy() {
RetryPolicy retryPolicy = () -> new RetryExecution() {
int retryAttempts;
@Override
public RetryExecution start() {
return new RetryExecution() {
int retryAttempts;
@Override
public boolean shouldRetry(Throwable throwable) {
return this.retryAttempts++ < 3 && throwable instanceof TechnicalException;
}
};
public boolean shouldRetry(Throwable throwable) {
return (this.retryAttempts++ < 3 && throwable instanceof TechnicalException);
}
};
retryTemplate.setRetryPolicy(retryPolicy);
retryTemplate.setBackOffPolicy(new FixedBackOff(Duration.ofMillis(10)));