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:
@@ -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.
|
||||
*
|
||||
|
||||
@@ -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");
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user