DATAREDIS-956 - Polishing.

Add author tags. Provide override for clientName(…) in LettucePoolingClientConfigurationBuilder. Extend Javadoc. Add and simplify tests.

Original pull request: #446.
This commit is contained in:
Mark Paluch
2019-04-18 11:38:17 +02:00
parent e3b903ce36
commit 647cf25d2b
2 changed files with 34 additions and 9 deletions

View File

@@ -22,6 +22,7 @@ import io.lettuce.core.resource.ClientResources;
import java.time.Duration;
import org.apache.commons.pool2.impl.GenericObjectPoolConfig;
import org.springframework.util.Assert;
/**
@@ -63,6 +64,10 @@ public interface LettucePoolingClientConfiguration extends LettuceClientConfigur
* <dd>{@link ClientOptions} with enabled {@link io.lettuce.core.TimeoutOptions}</dd>
* <dt>Client Resources</dt>
* <dd>none</dd>
* <dt>Client name</dt>
* <dd>none</dd>
* <dt>Read From</dt>
* <dd>none</dd>
* <dt>Connect Timeout</dt>
* <dd>60 Seconds</dd>
* <dt>Shutdown Timeout</dt>
@@ -82,6 +87,7 @@ public interface LettucePoolingClientConfiguration extends LettuceClientConfigur
/**
* @author Mark Paluch
* @author Christoph Strobl
* @author Longlong Zhao
*/
class LettucePoolingClientConfigurationBuilder extends LettuceClientConfigurationBuilder {
@@ -167,6 +173,16 @@ public interface LettucePoolingClientConfiguration extends LettuceClientConfigur
return this;
}
/*
* (non-Javadoc)
* @see org.springframework.data.redis.connection.lettuce.LettuceClientConfiguration.LettuceClientConfigurationBuilder#clientName(String)
*/
@Override
public LettucePoolingClientConfigurationBuilder clientName(String clientName) {
super.clientName(clientName);
return this;
}
/**
* Set the {@link GenericObjectPoolConfig} used by the driver.
*

View File

@@ -32,6 +32,7 @@ import org.junit.Test;
*
* @author Mark Paluch
* @author Christoph Strobl
* @author Longlong Zhao
*/
public class LettucePoolingClientConfigurationUnitTests {
@@ -88,20 +89,28 @@ public class LettucePoolingClientConfigurationUnitTests {
@Test // DATAREDIS-956
public void shouldConfigureReadFrom() {
ClientOptions clientOptions = ClientOptions.create();
ClientResources sharedClientResources = LettuceTestClientResources.getSharedClientResources();
GenericObjectPoolConfig poolConfig = new GenericObjectPoolConfig();
LettucePoolingClientConfiguration configuration = LettucePoolingClientConfiguration.builder() //
.poolConfig(poolConfig) //
.clientOptions(clientOptions) //
.clientResources(sharedClientResources) //
.readFrom(ReadFrom.MASTER_PREFERRED) //
.build();
.poolConfig(poolConfig) //
.readFrom(ReadFrom.MASTER_PREFERRED) //
.build();
assertThat(configuration.getPoolConfig()).isEqualTo(poolConfig);
assertThat(configuration.getClientOptions()).contains(clientOptions);
assertThat(configuration.getClientResources()).contains(sharedClientResources);
assertThat(configuration.getReadFrom().orElse(ReadFrom.MASTER)).isEqualTo(ReadFrom.MASTER_PREFERRED);
}
@Test // DATAREDIS-956
public void shouldConfigureClientName() {
GenericObjectPoolConfig poolConfig = new GenericObjectPoolConfig();
LettucePoolingClientConfiguration configuration = LettucePoolingClientConfiguration.builder() //
.poolConfig(poolConfig) //
.clientName("clientName") //
.build();
assertThat(configuration.getPoolConfig()).isEqualTo(poolConfig);
assertThat(configuration.getClientName()).contains("clientName");
}
}