Skip to content

Commit b8454e2

Browse files
committed
Address code review
- Remove unnecessary constructor in MaxRetryAttemptsPolicyExecution - Use Supplier variant for logging methods - Update Javadocs
1 parent 175b78d commit b8454e2

File tree

5 files changed

+13
-15
lines changed

5 files changed

+13
-15
lines changed

spring-core/src/main/java/org/springframework/core/retry/RetryListener.java

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,28 +32,30 @@ public interface RetryListener {
3232

3333
/**
3434
* Called before every retry attempt.
35+
* @param retryExecution the retry execution
3536
*/
3637
default void beforeRetry(RetryExecution retryExecution) {
37-
3838
}
3939

4040
/**
4141
* Called after the first successful retry attempt.
42+
* @param retryExecution the retry execution
4243
* @param result the result of the callback
43-
* @param <T> the type of the result
4444
*/
45-
default <T> void onRetrySuccess(RetryExecution retryExecution, T result) {
45+
default void onRetrySuccess(RetryExecution retryExecution, Object result) {
4646
}
4747

4848
/**
4949
* Called every time a retry attempt fails.
50+
* @param retryExecution the retry execution
5051
* @param throwable the throwable thrown by the callback
5152
*/
5253
default void onRetryFailure(RetryExecution retryExecution, Throwable throwable) {
5354
}
5455

5556
/**
5657
* Called once the retry policy is exhausted.
58+
* @param retryExecution the retry execution
5759
* @param throwable the last throwable thrown by the callback
5860
*/
5961
default void onRetryPolicyExhaustion(RetryExecution retryExecution, Throwable throwable) {

spring-core/src/main/java/org/springframework/core/retry/RetryTemplate.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -130,33 +130,33 @@ public void setRetryListener(RetryListener retryListener) {
130130
String callbackName = retryCallback.getName();
131131
// initial attempt
132132
try {
133-
logger.debug("About to execute callback '" + callbackName + "'");
133+
logger.debug(() -> "About to execute callback '" + callbackName + "'");
134134
R result = retryCallback.run();
135-
logger.debug("Callback '" + callbackName + "' executed successfully");
135+
logger.debug(() -> "Callback '" + callbackName + "' executed successfully");
136136
return result;
137137
}
138138
catch (Throwable initialException) {
139-
logger.debug(initialException, () ->"Execution of callback '" + callbackName + "' failed, initiating the retry process");
139+
logger.debug(initialException, () -> "Execution of callback '" + callbackName + "' failed, initiating the retry process");
140140
// retry process starts here
141141
RetryExecution retryExecution = this.retryPolicy.start();
142142
BackOffExecution backOffExecution = this.backOffPolicy.start();
143143
List<Throwable> suppressedExceptions = new ArrayList<>();
144144

145145
Throwable retryException = initialException;
146146
while (retryExecution.shouldRetry(retryException)) {
147-
logger.debug("About to retry callback '" + callbackName + "'");
147+
logger.debug(() -> "About to retry callback '" + callbackName + "'");
148148
try {
149149
this.retryListener.beforeRetry(retryExecution);
150150
R result = retryCallback.run();
151151
this.retryListener.onRetrySuccess(retryExecution, result);
152-
logger.debug("Callback '" + callbackName + "' retried successfully");
152+
logger.debug(() -> "Callback '" + callbackName + "' retried successfully");
153153
return result;
154154
}
155155
catch (Throwable currentAttemptException) {
156156
this.retryListener.onRetryFailure(retryExecution, currentAttemptException);
157157
try {
158158
long duration = backOffExecution.nextBackOff();
159-
logger.debug("Retry callback '" + callbackName + "' failed for " + currentAttemptException.getMessage() + ", backing off for " + duration + "ms");
159+
logger.debug(() -> "Retry callback '" + callbackName + "' failed for " + currentAttemptException.getMessage() + ", backing off for " + duration + "ms");
160160
Thread.sleep(duration);
161161
}
162162
catch (InterruptedException interruptedException) {

spring-core/src/main/java/org/springframework/core/retry/support/CompositeRetryListener.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ public void beforeRetry(RetryExecution retryExecution) {
6868
}
6969

7070
@Override
71-
public <T> void onRetrySuccess(RetryExecution retryExecution, T result) {
71+
public void onRetrySuccess(RetryExecution retryExecution, Object result) {
7272
this.listeners.forEach(listener -> listener.onRetrySuccess(retryExecution, result));
7373
}
7474

spring-core/src/main/java/org/springframework/core/retry/support/MaxRetryAttemptsPolicy.java

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -74,10 +74,6 @@ private class MaxRetryAttemptsPolicyExecution implements RetryExecution {
7474

7575
private int retryAttempts;
7676

77-
MaxRetryAttemptsPolicyExecution() {
78-
this.retryAttempts = 0;
79-
}
80-
8177
@Override
8278
public boolean shouldRetry(Throwable throwable) {
8379
return this.retryAttempts++ < MaxRetryAttemptsPolicy.this.maxRetryAttempts;

spring-core/src/main/java/org/springframework/core/retry/support/PredicateRetryPolicy.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ public PredicateRetryPolicy(Predicate<Throwable> predicate) {
4141

4242
/**
4343
* Start a new retry execution.
44-
* @return a fresh ready to be used
44+
* @return a fresh {@link RetryExecution} ready to be used
4545
*/
4646
public RetryExecution start() {
4747
return this.predicate::test;

0 commit comments

Comments
 (0)