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 af1837eea..b0823a920 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 @@ -69,6 +69,7 @@ import com.lambdaworks.redis.resource.ClientResources; * @author Jennifer Hickey * @author Thomas Darimont * @author Mark Paluch + * @author Balázs Németh */ public class LettuceConnectionFactory implements InitializingBean, DisposableBean, RedisConnectionFactory { @@ -143,7 +144,6 @@ public class LettuceConnectionFactory implements InitializingBean, DisposableBea */ public void afterPropertiesSet() { this.client = createRedisClient(); - } /* @@ -311,11 +311,22 @@ public class LettuceConnectionFactory implements InitializingBean, DisposableBea /** * Sets to use SSL connection + * + * @param useSsl {@literal true} to use SSL. */ - public void setUseSsl(boolean useSsl){ + public void setUseSsl(boolean useSsl) { this.useSsl = useSsl; } + /** + * Returns whether to use SSL. + * + * @return + */ + public boolean isUseSsl() { + return useSsl; + } + /** * Indicates if validation of the native Lettuce connection is enabled * 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 50c2dc85f..e488914fa 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 @@ -30,6 +30,7 @@ import org.springframework.data.redis.ConnectionFactoryTracker; import org.springframework.data.redis.connection.RedisClusterConfiguration; import com.lambdaworks.redis.AbstractRedisClient; +import com.lambdaworks.redis.RedisClient; import com.lambdaworks.redis.RedisURI; import com.lambdaworks.redis.cluster.RedisClusterClient; @@ -127,4 +128,26 @@ public class LettuceConnectionFactoryUnitTests { AbstractRedisClient client = (AbstractRedisClient) getField(connectionFactory, "client"); assertThat(client, instanceOf(RedisClusterClient.class)); } + + /** + * @see DATAREDIS-476 + */ + @Test + public void sslShouldBeSetCorrectlyOnClient() { + + LettuceConnectionFactory connectionFactory = new LettuceConnectionFactory(); + connectionFactory.setClientResources(LettuceTestClientResources.getSharedClientResources()); + connectionFactory.setUseSsl(true); + connectionFactory.afterPropertiesSet(); + ConnectionFactoryTracker.add(connectionFactory); + + AbstractRedisClient client = (AbstractRedisClient) getField(connectionFactory, "client"); + assertThat(client, instanceOf(RedisClient.class)); + + RedisURI redisUri = (RedisURI) getField(client, "redisURI"); + + assertThat(redisUri.isSsl(), is(true)); + assertThat(connectionFactory.isUseSsl(), is(true)); + } + }