diff --git a/src/main/java/org/springframework/data/redis/connection/lettuce/DefaultLettuceClientConfiguration.java b/src/main/java/org/springframework/data/redis/connection/lettuce/DefaultLettuceClientConfiguration.java
index 62439de47..be6197b21 100644
--- a/src/main/java/org/springframework/data/redis/connection/lettuce/DefaultLettuceClientConfiguration.java
+++ b/src/main/java/org/springframework/data/redis/connection/lettuce/DefaultLettuceClientConfiguration.java
@@ -29,6 +29,7 @@ import org.springframework.lang.Nullable;
*
* @author Mark Paluch
* @author Christoph Strobl
+ * @author Yanming Zhou
* @since 2.0
*/
class DefaultLettuceClientConfiguration implements LettuceClientConfiguration {
@@ -46,9 +47,7 @@ class DefaultLettuceClientConfiguration implements LettuceClientConfiguration {
DefaultLettuceClientConfiguration(boolean useSsl, boolean verifyPeer, boolean startTls,
@Nullable ClientResources clientResources, @Nullable ClientOptions clientOptions, @Nullable String clientName,
- @Nullable ReadFrom readFrom,
- Duration timeout, Duration shutdownTimeout,
- @Nullable Duration shutdownQuietPeriod) {
+ @Nullable ReadFrom readFrom, Duration timeout, Duration shutdownTimeout, @Nullable Duration shutdownQuietPeriod) {
this.useSsl = useSsl;
this.verifyPeer = verifyPeer;
diff --git a/src/main/java/org/springframework/data/redis/connection/lettuce/DefaultLettucePoolingClientConfiguration.java b/src/main/java/org/springframework/data/redis/connection/lettuce/DefaultLettucePoolingClientConfiguration.java
index 9a20607eb..eb301bb94 100644
--- a/src/main/java/org/springframework/data/redis/connection/lettuce/DefaultLettucePoolingClientConfiguration.java
+++ b/src/main/java/org/springframework/data/redis/connection/lettuce/DefaultLettucePoolingClientConfiguration.java
@@ -29,6 +29,7 @@ import org.apache.commons.pool2.impl.GenericObjectPoolConfig;
*
* @author Mark Paluch
* @author Christoph Strobl
+ * @author Yanming Zhou
* @since 2.0
*/
class DefaultLettucePoolingClientConfiguration implements LettucePoolingClientConfiguration {
diff --git a/src/main/java/org/springframework/data/redis/connection/lettuce/LettuceClientConfiguration.java b/src/main/java/org/springframework/data/redis/connection/lettuce/LettuceClientConfiguration.java
index 4d822fcec..920563072 100644
--- a/src/main/java/org/springframework/data/redis/connection/lettuce/LettuceClientConfiguration.java
+++ b/src/main/java/org/springframework/data/redis/connection/lettuce/LettuceClientConfiguration.java
@@ -42,10 +42,12 @@ import org.springframework.util.Assert;
*
Optional {@link ReadFrom}. Enables Master/Replica operations if configured.
* Client {@link Duration timeout}
* Shutdown {@link Duration timeout}
+ * Shutdown quiet {@link Duration period}
*
*
* @author Mark Paluch
* @author Christoph Strobl
+ * @author Yanming Zhou
* @since 2.0
* @see org.springframework.data.redis.connection.RedisStandaloneConfiguration
* @see org.springframework.data.redis.connection.RedisSentinelConfiguration
@@ -141,6 +143,8 @@ public interface LettuceClientConfiguration {
* 60 Seconds
* Shutdown Timeout
* 100 Milliseconds
+ * Shutdown Quiet Period
+ * 100 Milliseconds
*
*
* @return a {@link LettuceClientConfiguration} with defaults.
@@ -273,7 +277,7 @@ public interface LettuceClientConfiguration {
}
/**
- * Configure a shutdown timeout.
+ * Configure the shutdown quiet period.
*
* @param shutdownQuietPeriod must not be {@literal null}.
* @return {@literal this} builder.
diff --git a/src/main/java/org/springframework/data/redis/connection/lettuce/LettucePoolingClientConfiguration.java b/src/main/java/org/springframework/data/redis/connection/lettuce/LettucePoolingClientConfiguration.java
index 23fc6921d..d8655701e 100644
--- a/src/main/java/org/springframework/data/redis/connection/lettuce/LettucePoolingClientConfiguration.java
+++ b/src/main/java/org/springframework/data/redis/connection/lettuce/LettucePoolingClientConfiguration.java
@@ -29,6 +29,7 @@ import org.springframework.util.Assert;
*
* @author Mark Paluch
* @author Christoph Strobl
+ * @author Yanming Zhou
* @since 2.0
*/
public interface LettucePoolingClientConfiguration extends LettuceClientConfiguration {
@@ -65,6 +66,8 @@ public interface LettucePoolingClientConfiguration extends LettuceClientConfigur
* 60 Seconds
* Shutdown Timeout
* 100 Milliseconds
+ * Shutdown Quiet Period
+ * 100 Milliseconds
* pool config
* default {@link GenericObjectPoolConfig}
*
diff --git a/src/test/java/org/springframework/data/redis/connection/lettuce/LettuceClientConfigurationUnitTests.java b/src/test/java/org/springframework/data/redis/connection/lettuce/LettuceClientConfigurationUnitTests.java
index 3c43bf41b..6b212392e 100644
--- a/src/test/java/org/springframework/data/redis/connection/lettuce/LettuceClientConfigurationUnitTests.java
+++ b/src/test/java/org/springframework/data/redis/connection/lettuce/LettuceClientConfigurationUnitTests.java
@@ -29,6 +29,7 @@ import org.junit.Test;
*
* @author Mark Paluch
* @author Christoph Strobl
+ * @author Yanming Zhou
*/
public class LettuceClientConfigurationUnitTests {
@@ -77,6 +78,16 @@ public class LettuceClientConfigurationUnitTests {
assertThat(configuration.getShutdownQuietPeriod()).isEqualTo(Duration.ofMinutes(5));
}
+ @Test // DATAREDIS-881
+ public void shutdownQuietPeriodShouldDefaultToTimeout() {
+
+ LettuceClientConfiguration configuration = LettuceClientConfiguration.builder()
+ .shutdownTimeout(Duration.ofSeconds(42)).build();
+
+ assertThat(configuration.getShutdownTimeout()).isEqualTo(Duration.ofSeconds(42));
+ assertThat(configuration.getShutdownQuietPeriod()).isEqualTo(Duration.ofSeconds(42));
+ }
+
@Test(expected = IllegalArgumentException.class) // DATAREDIS-576
public void clientConfigurationThrowsExceptionForNullClientName() {
LettuceClientConfiguration.builder().clientName(null);