diff --git a/src/main/java/org/springframework/data/redis/connection/jedis/JedisConnectionFactory.java b/src/main/java/org/springframework/data/redis/connection/jedis/JedisConnectionFactory.java index c80d77a8e..ffde590f4 100644 --- a/src/main/java/org/springframework/data/redis/connection/jedis/JedisConnectionFactory.java +++ b/src/main/java/org/springframework/data/redis/connection/jedis/JedisConnectionFactory.java @@ -122,7 +122,7 @@ public class JedisConnectionFactory implements InitializingBean, DisposableBean, * @param shardInfo shard information */ public JedisConnectionFactory(JedisShardInfo shardInfo) { - this.shardInfo = shardInfo; + setShardInfo(shardInfo); } /** @@ -457,12 +457,17 @@ public class JedisConnectionFactory implements InitializingBean, DisposableBean, } /** - * Sets the shard info for this factory. + * Sets the shard info for this factory and apply SSL settings. * * @param shardInfo the shardInfo to set. */ public void setShardInfo(JedisShardInfo shardInfo) { + this.shardInfo = shardInfo; + + if(shardInfo != null) { + setUseSsl(shardInfo.getSsl()); + } } /** diff --git a/src/test/java/org/springframework/data/redis/connection/jedis/JedisConnectionFactoryUnitTests.java b/src/test/java/org/springframework/data/redis/connection/jedis/JedisConnectionFactoryUnitTests.java index a50c12b7a..4b250653a 100644 --- a/src/test/java/org/springframework/data/redis/connection/jedis/JedisConnectionFactoryUnitTests.java +++ b/src/test/java/org/springframework/data/redis/connection/jedis/JedisConnectionFactoryUnitTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2014-2017 the original author or authors. + * Copyright 2014-2018 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -15,6 +15,8 @@ */ package org.springframework.data.redis.connection.jedis; +import static org.hamcrest.Matchers.is; +import static org.junit.Assert.assertThat; import static org.mockito.Mockito.*; import java.io.IOException; @@ -28,9 +30,13 @@ import org.springframework.test.util.ReflectionTestUtils; import redis.clients.jedis.JedisCluster; import redis.clients.jedis.JedisPoolConfig; +import redis.clients.jedis.JedisShardInfo; /** + * Unit tests for {@link JedisConnectionFactory}. + * * @author Christoph Strobl + * @author Mark Paluch */ public class JedisConnectionFactoryUnitTests { @@ -82,7 +88,7 @@ public class JedisConnectionFactoryUnitTests { } @Test // DATAREDIS-315 - public void shouldClostClusterCorrectlyOnFactoryDestruction() throws IOException { + public void shouldCloseClusterCorrectlyOnFactoryDestruction() throws IOException { JedisCluster clusterMock = mock(JedisCluster.class); JedisConnectionFactory factory = new JedisConnectionFactory(); @@ -93,6 +99,15 @@ public class JedisConnectionFactoryUnitTests { verify(clusterMock, times(1)).close(); } + @Test // DATAREDIS-766 + public void shardInfoShouldConfigureSslFlag() { + + JedisShardInfo shardInfo = new JedisShardInfo("host", 6379, true); + JedisConnectionFactory factory = new JedisConnectionFactory(shardInfo); + + assertThat(factory.isUseSsl(), is(true)); + } + private JedisConnectionFactory initSpyedConnectionFactory(RedisSentinelConfiguration sentinelConfig, JedisPoolConfig poolConfig) {