From 0d24b5a573165d7e7e4fadf3443b67f992ef4bb0 Mon Sep 17 00:00:00 2001 From: Christoph Strobl Date: Wed, 6 Jul 2016 12:09:18 +0200 Subject: [PATCH] DATAREDIS-524 - Polishing. Some formatting changes. Original Pull Request: #204 --- .../lettuce/DefaultLettucePool.java | 20 ++--- .../lettuce/LettuceConnectionFactory.java | 8 +- .../lettuce/DefaultLettucePoolTests.java | 73 +++++++++++-------- .../LettuceConnectionFactoryUnitTests.java | 4 +- 4 files changed, 55 insertions(+), 50 deletions(-) diff --git a/src/main/java/org/springframework/data/redis/connection/lettuce/DefaultLettucePool.java b/src/main/java/org/springframework/data/redis/connection/lettuce/DefaultLettucePool.java index 9939195b8..be52945a9 100644 --- a/src/main/java/org/springframework/data/redis/connection/lettuce/DefaultLettucePool.java +++ b/src/main/java/org/springframework/data/redis/connection/lettuce/DefaultLettucePool.java @@ -120,26 +120,18 @@ public class DefaultLettucePool implements LettucePool, InitializingBean { */ private RedisURI getRedisURI() { - if (isRedisSentinelAware()) { - RedisURI redisURI = LettuceConverters.sentinelConfigurationToRedisURI(sentinelConfiguration); + RedisURI redisUri = isRedisSentinelAware() + ? LettuceConverters.sentinelConfigurationToRedisURI(sentinelConfiguration) : createSimpleHostRedisURI(); - if (StringUtils.hasText(password)) { - redisURI.setPassword(password); - } - - return redisURI; + if (StringUtils.hasText(password)) { + redisUri.setPassword(password); } - return createSimpleHostRedisURI(); + return redisUri; } private RedisURI createSimpleHostRedisURI() { - RedisURI.Builder builder = RedisURI.Builder.redis(hostName, port); - if (password != null) { - builder.withPassword(password); - } - builder.withTimeout(timeout, TimeUnit.MILLISECONDS); - return builder.build(); + return RedisURI.Builder.redis(hostName, port).withTimeout(timeout, TimeUnit.MILLISECONDS).build(); } @SuppressWarnings("unchecked") diff --git a/src/main/java/org/springframework/data/redis/connection/lettuce/LettuceConnectionFactory.java b/src/main/java/org/springframework/data/redis/connection/lettuce/LettuceConnectionFactory.java index f403508b5..1e8e30581 100644 --- a/src/main/java/org/springframework/data/redis/connection/lettuce/LettuceConnectionFactory.java +++ b/src/main/java/org/springframework/data/redis/connection/lettuce/LettuceConnectionFactory.java @@ -68,6 +68,7 @@ import com.lambdaworks.redis.resource.ClientResources; * @author Costin Leau * @author Jennifer Hickey * @author Thomas Darimont + * @author Christoph Strobl * @author Mark Paluch * @author Balázs Németh */ @@ -608,13 +609,13 @@ public class LettuceConnectionFactory implements InitializingBean, DisposableBea private RedisURI getSentinelRedisURI() { - RedisURI redisURI = LettuceConverters.sentinelConfigurationToRedisURI(sentinelConfiguration); + RedisURI redisUri = LettuceConverters.sentinelConfigurationToRedisURI(sentinelConfiguration); if (StringUtils.hasText(password)) { - redisURI.setPassword(password); + redisUri.setPassword(password); } - return redisURI; + return redisUri; } /** @@ -634,6 +635,7 @@ public class LettuceConnectionFactory implements InitializingBean, DisposableBea @Override public RedisSentinelConnection getSentinelConnection() { + if (!(client instanceof RedisClient)) { throw new InvalidDataAccessResourceUsageException("Unable to connect to sentinels using " + client.getClass()); } diff --git a/src/test/java/org/springframework/data/redis/connection/lettuce/DefaultLettucePoolTests.java b/src/test/java/org/springframework/data/redis/connection/lettuce/DefaultLettucePoolTests.java index 4eb1d32d1..dc76348ff 100644 --- a/src/test/java/org/springframework/data/redis/connection/lettuce/DefaultLettucePoolTests.java +++ b/src/test/java/org/springframework/data/redis/connection/lettuce/DefaultLettucePoolTests.java @@ -27,7 +27,6 @@ import org.junit.After; import org.junit.Ignore; import org.junit.Test; import org.springframework.data.redis.SettingsUtils; -import org.springframework.data.redis.connection.PoolConfig; import org.springframework.data.redis.connection.PoolException; import org.springframework.data.redis.connection.RedisSentinelConfiguration; @@ -49,20 +48,22 @@ public class DefaultLettucePoolTests { @After public void tearDown() { - if (this.pool != null) { - if (this.pool.getClient() != null) { - this.pool.getClient().shutdown(0, 0, TimeUnit.MILLISECONDS); + if (pool != null) { + + if (pool.getClient() != null) { + pool.getClient().shutdown(0, 0, TimeUnit.MILLISECONDS); } - this.pool.destroy(); + pool.destroy(); } } @Test public void testGetResource() { - this.pool = new DefaultLettucePool(SettingsUtils.getHost(), SettingsUtils.getPort()); - this.pool.setClientResources(LettuceTestClientResources.getSharedClientResources()); + + pool = new DefaultLettucePool(SettingsUtils.getHost(), SettingsUtils.getPort()); + pool.setClientResources(LettuceTestClientResources.getSharedClientResources()); pool.afterPropertiesSet(); RedisAsyncConnection client = pool.getResource(); assertNotNull(client); @@ -72,11 +73,12 @@ public class DefaultLettucePoolTests { @Test public void testGetResourcePoolExhausted() { + GenericObjectPoolConfig poolConfig = new GenericObjectPoolConfig(); poolConfig.setMaxTotal(1); poolConfig.setMaxWaitMillis(1); - this.pool = new DefaultLettucePool(SettingsUtils.getHost(), SettingsUtils.getPort(), poolConfig); - this.pool.setClientResources(LettuceTestClientResources.getSharedClientResources()); + pool = new DefaultLettucePool(SettingsUtils.getHost(), SettingsUtils.getPort(), poolConfig); + pool.setClientResources(LettuceTestClientResources.getSharedClientResources()); pool.afterPropertiesSet(); RedisAsyncConnection client = pool.getResource(); assertNotNull(client); @@ -90,10 +92,11 @@ public class DefaultLettucePoolTests { @Test public void testGetResourceValidate() { - PoolConfig poolConfig = new PoolConfig(); + + GenericObjectPoolConfig poolConfig = new GenericObjectPoolConfig(); poolConfig.setTestOnBorrow(true); - this.pool = new DefaultLettucePool(SettingsUtils.getHost(), SettingsUtils.getPort(), poolConfig); - this.pool.setClientResources(LettuceTestClientResources.getSharedClientResources()); + pool = new DefaultLettucePool(SettingsUtils.getHost(), SettingsUtils.getPort(), poolConfig); + pool.setClientResources(LettuceTestClientResources.getSharedClientResources()); pool.afterPropertiesSet(); RedisAsyncConnection client = pool.getResource(); assertNotNull(client); @@ -102,19 +105,21 @@ public class DefaultLettucePoolTests { @Test(expected = PoolException.class) public void testGetResourceCreationUnsuccessful() throws Exception { - this.pool = new DefaultLettucePool(SettingsUtils.getHost(), 3333); - this.pool.setClientResources(LettuceTestClientResources.getSharedClientResources()); + + pool = new DefaultLettucePool(SettingsUtils.getHost(), 3333); + pool.setClientResources(LettuceTestClientResources.getSharedClientResources()); pool.afterPropertiesSet(); pool.getResource(); } @Test public void testReturnResource() { + GenericObjectPoolConfig poolConfig = new GenericObjectPoolConfig(); poolConfig.setMaxTotal(1); poolConfig.setMaxWaitMillis(1); - this.pool = new DefaultLettucePool(SettingsUtils.getHost(), SettingsUtils.getPort(), poolConfig); - this.pool.setClientResources(LettuceTestClientResources.getSharedClientResources()); + pool = new DefaultLettucePool(SettingsUtils.getHost(), SettingsUtils.getPort(), poolConfig); + pool.setClientResources(LettuceTestClientResources.getSharedClientResources()); pool.afterPropertiesSet(); RedisAsyncConnection client = pool.getResource(); assertNotNull(client); @@ -125,11 +130,12 @@ public class DefaultLettucePoolTests { @Test public void testReturnBrokenResource() { + GenericObjectPoolConfig poolConfig = new GenericObjectPoolConfig(); poolConfig.setMaxTotal(1); poolConfig.setMaxWaitMillis(1); - this.pool = new DefaultLettucePool(SettingsUtils.getHost(), SettingsUtils.getPort(), poolConfig); - this.pool.setClientResources(LettuceTestClientResources.getSharedClientResources()); + pool = new DefaultLettucePool(SettingsUtils.getHost(), SettingsUtils.getPort(), poolConfig); + pool.setClientResources(LettuceTestClientResources.getSharedClientResources()); pool.afterPropertiesSet(); RedisAsyncConnection client = pool.getResource(); assertNotNull(client); @@ -147,8 +153,9 @@ public class DefaultLettucePoolTests { @Test public void testCreateWithDbIndex() { - this.pool = new DefaultLettucePool(SettingsUtils.getHost(), SettingsUtils.getPort()); - this.pool.setClientResources(LettuceTestClientResources.getSharedClientResources()); + + pool = new DefaultLettucePool(SettingsUtils.getHost(), SettingsUtils.getPort()); + pool.setClientResources(LettuceTestClientResources.getSharedClientResources()); pool.setDatabase(1); pool.afterPropertiesSet(); assertNotNull(pool.getResource()); @@ -156,8 +163,9 @@ public class DefaultLettucePoolTests { @Test(expected = PoolException.class) public void testCreateWithDbIndexInvalid() { - this.pool = new DefaultLettucePool(SettingsUtils.getHost(), SettingsUtils.getPort()); - this.pool.setClientResources(LettuceTestClientResources.getSharedClientResources()); + + pool = new DefaultLettucePool(SettingsUtils.getHost(), SettingsUtils.getPort()); + pool.setClientResources(LettuceTestClientResources.getSharedClientResources()); pool.setDatabase(17); pool.afterPropertiesSet(); pool.getResource(); @@ -165,8 +173,9 @@ public class DefaultLettucePoolTests { @Test(expected = PoolException.class) public void testCreateWithPasswordNoPassword() { - this.pool = new DefaultLettucePool(SettingsUtils.getHost(), SettingsUtils.getPort()); - this.pool.setClientResources(LettuceTestClientResources.getSharedClientResources()); + + pool = new DefaultLettucePool(SettingsUtils.getHost(), SettingsUtils.getPort()); + pool.setClientResources(LettuceTestClientResources.getSharedClientResources()); pool.setPassword("notthepassword"); pool.afterPropertiesSet(); pool.getResource(); @@ -175,8 +184,9 @@ public class DefaultLettucePoolTests { @Ignore("Redis must have requirepass set to run this test") @Test public void testCreatePassword() { - this.pool = new DefaultLettucePool(SettingsUtils.getHost(), SettingsUtils.getPort()); - this.pool.setClientResources(LettuceTestClientResources.getSharedClientResources()); + + pool = new DefaultLettucePool(SettingsUtils.getHost(), SettingsUtils.getPort()); + pool.setClientResources(LettuceTestClientResources.getSharedClientResources()); pool.setPassword("foo"); pool.afterPropertiesSet(); RedisAsyncConnection conn = pool.getResource(); @@ -187,8 +197,9 @@ public class DefaultLettucePoolTests { @Ignore("Redis must have requirepass set to run this test") @Test(expected = PoolException.class) public void testCreateInvalidPassword() { - this.pool = new DefaultLettucePool(SettingsUtils.getHost(), SettingsUtils.getPort()); - this.pool.setClientResources(LettuceTestClientResources.getSharedClientResources()); + + pool = new DefaultLettucePool(SettingsUtils.getHost(), SettingsUtils.getPort()); + pool.setClientResources(LettuceTestClientResources.getSharedClientResources()); pool.setPassword("bad"); pool.afterPropertiesSet(); pool.getResource(); @@ -205,9 +216,9 @@ public class DefaultLettucePoolTests { pool.setPassword("foo"); pool.afterPropertiesSet(); - RedisURI redisURI = (RedisURI) getField(pool.getClient(), "redisURI"); + RedisURI redisUri = (RedisURI) getField(pool.getClient(), "redisURI"); - assertThat(redisURI.getPassword(), is(equalTo(pool.getPassword().toCharArray()))); + assertThat(redisUri.getPassword(), is(equalTo(pool.getPassword().toCharArray()))); } /** @@ -216,7 +227,7 @@ public class DefaultLettucePoolTests { @Test public void poolWorksWithoutClientResources() { - this.pool = new DefaultLettucePool(SettingsUtils.getHost(), SettingsUtils.getPort()); + pool = new DefaultLettucePool(SettingsUtils.getHost(), SettingsUtils.getPort()); pool.setDatabase(1); pool.afterPropertiesSet(); assertNotNull(pool.getResource()); diff --git a/src/test/java/org/springframework/data/redis/connection/lettuce/LettuceConnectionFactoryUnitTests.java b/src/test/java/org/springframework/data/redis/connection/lettuce/LettuceConnectionFactoryUnitTests.java index f6856c740..da2e5e4e4 100644 --- a/src/test/java/org/springframework/data/redis/connection/lettuce/LettuceConnectionFactoryUnitTests.java +++ b/src/test/java/org/springframework/data/redis/connection/lettuce/LettuceConnectionFactoryUnitTests.java @@ -133,9 +133,9 @@ public class LettuceConnectionFactoryUnitTests { AbstractRedisClient client = (AbstractRedisClient) getField(connectionFactory, "client"); assertThat(client, instanceOf(RedisClient.class)); - RedisURI redisURI = (RedisURI) getField(client, "redisURI"); + RedisURI redisUri = (RedisURI) getField(client, "redisURI"); - assertThat(redisURI.getPassword(), is(equalTo(connectionFactory.getPassword().toCharArray()))); + assertThat(redisUri.getPassword(), is(equalTo(connectionFactory.getPassword().toCharArray()))); } /**