diff --git a/spring-core/src/main/java/org/springframework/util/backoff/ExponentialBackOff.java b/spring-core/src/main/java/org/springframework/util/backoff/ExponentialBackOff.java index 6532f5c1f0a..845d9c92796 100644 --- a/spring-core/src/main/java/org/springframework/util/backoff/ExponentialBackOff.java +++ b/spring-core/src/main/java/org/springframework/util/backoff/ExponentialBackOff.java @@ -255,7 +255,7 @@ public class ExponentialBackOff implements BackOff { @Override public String toString() { - return new StringJoiner(", ", ExponentialBackOff.class.getSimpleName() + "{", "}") + return new StringJoiner(", ", "ExponentialBackOff[", "]") .add("initialInterval=" + this.initialInterval) .add("jitter=" + this.jitter) .add("multiplier=" + this.multiplier) @@ -316,7 +316,7 @@ public class ExponentialBackOff implements BackOff { @Override public String toString() { String currentIntervalDescription = this.currentInterval < 0 ? "n/a" : this.currentInterval + "ms"; - return new StringJoiner(", ", ExponentialBackOffExecution.class.getSimpleName() + "{", "}") + return new StringJoiner(", ", "ExponentialBackOffExecution[", "]") .add("currentInterval=" + currentIntervalDescription) .add("multiplier=" + getMultiplier()) .add("attempts=" + this.attempts) diff --git a/spring-core/src/main/java/org/springframework/util/backoff/FixedBackOff.java b/spring-core/src/main/java/org/springframework/util/backoff/FixedBackOff.java index 15ea1c1d7ef..380f652cda8 100644 --- a/spring-core/src/main/java/org/springframework/util/backoff/FixedBackOff.java +++ b/spring-core/src/main/java/org/springframework/util/backoff/FixedBackOff.java @@ -119,6 +119,13 @@ public class FixedBackOff implements BackOff { return new FixedBackOffExecution(); } + @Override + public String toString() { + String attemptValue = (this.maxAttempts == Long.MAX_VALUE ? "unlimited" : + String.valueOf(FixedBackOff.this.maxAttempts)); + return "FixedBackOff[interval=" + this.interval + + ", maxAttempts=" + attemptValue + ']'; + } private class FixedBackOffExecution implements BackOffExecution { @@ -139,10 +146,10 @@ public class FixedBackOff implements BackOff { public String toString() { String attemptValue = (FixedBackOff.this.maxAttempts == Long.MAX_VALUE ? "unlimited" : String.valueOf(FixedBackOff.this.maxAttempts)); - return "FixedBackOff{interval=" + FixedBackOff.this.interval + + return "FixedBackOffExecution[interval=" + FixedBackOff.this.interval + ", currentAttempts=" + this.currentAttempts + ", maxAttempts=" + attemptValue + - '}'; + ']'; } } diff --git a/spring-core/src/test/java/org/springframework/util/ExponentialBackOffTests.java b/spring-core/src/test/java/org/springframework/util/ExponentialBackOffTests.java index 12d12480c38..c877236f741 100644 --- a/spring-core/src/test/java/org/springframework/util/ExponentialBackOffTests.java +++ b/spring-core/src/test/java/org/springframework/util/ExponentialBackOffTests.java @@ -32,6 +32,7 @@ import static org.assertj.core.api.Assertions.assertThatIllegalArgumentException * Tests for {@link ExponentialBackOff}. * * @author Stephane Nicoll + * @author Sam Brannen */ class ExponentialBackOffTests { @@ -128,14 +129,24 @@ class ExponentialBackOffTests { } @Test - void executionToStringContent() { + void toStringContent() { ExponentialBackOff backOff = new ExponentialBackOff(2000L, 2.0); + assertThat(backOff).asString() + .isEqualTo(""" + ExponentialBackOff[\ + initialInterval=2000, \ + jitter=0, \ + multiplier=2.0, \ + maxInterval=30000, \ + maxElapsedTime=%d, \ + maxAttempts=%d]""", Long.MAX_VALUE, Integer.MAX_VALUE); + BackOffExecution execution = backOff.start(); - assertThat(execution.toString()).isEqualTo("ExponentialBackOffExecution{currentInterval=n/a, multiplier=2.0, attempts=0}"); + assertThat(execution).asString().isEqualTo("ExponentialBackOffExecution[currentInterval=n/a, multiplier=2.0, attempts=0]"); execution.nextBackOff(); - assertThat(execution.toString()).isEqualTo("ExponentialBackOffExecution{currentInterval=2000ms, multiplier=2.0, attempts=1}"); + assertThat(execution).asString().isEqualTo("ExponentialBackOffExecution[currentInterval=2000ms, multiplier=2.0, attempts=1]"); execution.nextBackOff(); - assertThat(execution.toString()).isEqualTo("ExponentialBackOffExecution{currentInterval=4000ms, multiplier=2.0, attempts=2}"); + assertThat(execution).asString().isEqualTo("ExponentialBackOffExecution[currentInterval=4000ms, multiplier=2.0, attempts=2]"); } @Test diff --git a/spring-core/src/test/java/org/springframework/util/FixedBackOffTests.java b/spring-core/src/test/java/org/springframework/util/FixedBackOffTests.java index 5e7c5b8751d..9885847b534 100644 --- a/spring-core/src/test/java/org/springframework/util/FixedBackOffTests.java +++ b/spring-core/src/test/java/org/springframework/util/FixedBackOffTests.java @@ -27,6 +27,7 @@ import static org.assertj.core.api.Assertions.assertThat; * Tests for {@link FixedBackOff}. * * @author Stephane Nicoll + * @author Sam Brannen */ class FixedBackOffTests { @@ -86,12 +87,14 @@ class FixedBackOffTests { @Test void toStringContent() { FixedBackOff backOff = new FixedBackOff(200L, 10); + assertThat(backOff).asString().isEqualTo("FixedBackOff[interval=200, maxAttempts=10]"); + BackOffExecution execution = backOff.start(); - assertThat(execution.toString()).isEqualTo("FixedBackOff{interval=200, currentAttempts=0, maxAttempts=10}"); + assertThat(execution).asString().isEqualTo("FixedBackOffExecution[interval=200, currentAttempts=0, maxAttempts=10]"); execution.nextBackOff(); - assertThat(execution.toString()).isEqualTo("FixedBackOff{interval=200, currentAttempts=1, maxAttempts=10}"); + assertThat(execution).asString().isEqualTo("FixedBackOffExecution[interval=200, currentAttempts=1, maxAttempts=10]"); execution.nextBackOff(); - assertThat(execution.toString()).isEqualTo("FixedBackOff{interval=200, currentAttempts=2, maxAttempts=10}"); + assertThat(execution).asString().isEqualTo("FixedBackOffExecution[interval=200, currentAttempts=2, maxAttempts=10]"); } }