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 java.time.Duration;
|
||||||
|
|
||||||
import org.apache.commons.pool2.impl.GenericObjectPoolConfig;
|
import org.apache.commons.pool2.impl.GenericObjectPoolConfig;
|
||||||
|
|
||||||
import org.springframework.util.Assert;
|
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>
|
* <dd>{@link ClientOptions} with enabled {@link io.lettuce.core.TimeoutOptions}</dd>
|
||||||
* <dt>Client Resources</dt>
|
* <dt>Client Resources</dt>
|
||||||
* <dd>none</dd>
|
* <dd>none</dd>
|
||||||
|
* <dt>Client name</dt>
|
||||||
|
* <dd>none</dd>
|
||||||
|
* <dt>Read From</dt>
|
||||||
|
* <dd>none</dd>
|
||||||
* <dt>Connect Timeout</dt>
|
* <dt>Connect Timeout</dt>
|
||||||
* <dd>60 Seconds</dd>
|
* <dd>60 Seconds</dd>
|
||||||
* <dt>Shutdown Timeout</dt>
|
* <dt>Shutdown Timeout</dt>
|
||||||
@@ -82,6 +87,7 @@ public interface LettucePoolingClientConfiguration extends LettuceClientConfigur
|
|||||||
/**
|
/**
|
||||||
* @author Mark Paluch
|
* @author Mark Paluch
|
||||||
* @author Christoph Strobl
|
* @author Christoph Strobl
|
||||||
|
* @author Longlong Zhao
|
||||||
*/
|
*/
|
||||||
class LettucePoolingClientConfigurationBuilder extends LettuceClientConfigurationBuilder {
|
class LettucePoolingClientConfigurationBuilder extends LettuceClientConfigurationBuilder {
|
||||||
|
|
||||||
@@ -167,6 +173,16 @@ public interface LettucePoolingClientConfiguration extends LettuceClientConfigur
|
|||||||
return this;
|
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.
|
* Set the {@link GenericObjectPoolConfig} used by the driver.
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -32,6 +32,7 @@ import org.junit.Test;
|
|||||||
*
|
*
|
||||||
* @author Mark Paluch
|
* @author Mark Paluch
|
||||||
* @author Christoph Strobl
|
* @author Christoph Strobl
|
||||||
|
* @author Longlong Zhao
|
||||||
*/
|
*/
|
||||||
public class LettucePoolingClientConfigurationUnitTests {
|
public class LettucePoolingClientConfigurationUnitTests {
|
||||||
|
|
||||||
@@ -88,20 +89,28 @@ public class LettucePoolingClientConfigurationUnitTests {
|
|||||||
@Test // DATAREDIS-956
|
@Test // DATAREDIS-956
|
||||||
public void shouldConfigureReadFrom() {
|
public void shouldConfigureReadFrom() {
|
||||||
|
|
||||||
ClientOptions clientOptions = ClientOptions.create();
|
|
||||||
ClientResources sharedClientResources = LettuceTestClientResources.getSharedClientResources();
|
|
||||||
GenericObjectPoolConfig poolConfig = new GenericObjectPoolConfig();
|
GenericObjectPoolConfig poolConfig = new GenericObjectPoolConfig();
|
||||||
|
|
||||||
LettucePoolingClientConfiguration configuration = LettucePoolingClientConfiguration.builder() //
|
LettucePoolingClientConfiguration configuration = LettucePoolingClientConfiguration.builder() //
|
||||||
.poolConfig(poolConfig) //
|
.poolConfig(poolConfig) //
|
||||||
.clientOptions(clientOptions) //
|
.readFrom(ReadFrom.MASTER_PREFERRED) //
|
||||||
.clientResources(sharedClientResources) //
|
.build();
|
||||||
.readFrom(ReadFrom.MASTER_PREFERRED) //
|
|
||||||
.build();
|
|
||||||
|
|
||||||
assertThat(configuration.getPoolConfig()).isEqualTo(poolConfig);
|
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);
|
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