diff --git a/src/main/java/org/springframework/data/redis/connection/RedisConfiguration.java b/src/main/java/org/springframework/data/redis/connection/RedisConfiguration.java index e50680248..d68750aef 100644 --- a/src/main/java/org/springframework/data/redis/connection/RedisConfiguration.java +++ b/src/main/java/org/springframework/data/redis/connection/RedisConfiguration.java @@ -90,6 +90,7 @@ public interface RedisConfiguration { /** * @param configuration can be {@literal null}. * @return {@code true} if given {@link RedisConfiguration} is instance of {@link WithHostAndPort}. + * @since 2.1.6 */ static boolean isHostAndPortAware(@Nullable RedisConfiguration configuration) { return configuration instanceof WithHostAndPort; @@ -151,6 +152,7 @@ public interface RedisConfiguration { * {@link #isHostAndPortAware(RedisConfiguration) port aware}. * @return never {@literal null}. * @throws IllegalArgumentException if {@code other} is {@literal null}. + * @since 2.1.6 */ static int getPortOrElse(@Nullable RedisConfiguration configuration, IntSupplier other) { @@ -164,6 +166,7 @@ public interface RedisConfiguration { * {@link #isHostAndPortAware(RedisConfiguration) host aware}. * @return never {@literal null}. * @throws IllegalArgumentException if {@code other} is {@literal null}. + * @since 2.1.6 */ static String getHostOrElse(@Nullable RedisConfiguration configuration, Supplier other) { 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 08ec73747..c1b4d2b4b 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 @@ -1008,8 +1008,8 @@ public class LettuceConnectionFactory private RedisURI getSentinelRedisURI() { - RedisURI redisUri = LettuceConverters - .sentinelConfigurationToRedisURI((org.springframework.data.redis.connection.RedisSentinelConfiguration) configuration); + RedisURI redisUri = LettuceConverters.sentinelConfigurationToRedisURI( + (org.springframework.data.redis.connection.RedisSentinelConfiguration) configuration); getRedisPassword().toOptional().ifPresent(redisUri::setPassword); clientConfiguration.getClientName().ifPresent(redisUri::setClientName); 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 abe19f426..762d1dda2 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 @@ -37,6 +37,8 @@ import io.lettuce.core.cluster.api.StatefulRedisClusterConnection; import io.lettuce.core.codec.ByteArrayCodec; import io.lettuce.core.codec.RedisCodec; import io.lettuce.core.resource.ClientResources; +import lombok.AllArgsConstructor; +import lombok.Data; import java.security.NoSuchAlgorithmException; import java.time.Duration; @@ -47,6 +49,7 @@ import org.junit.After; import org.junit.Before; import org.junit.Test; import org.mockito.ArgumentMatchers; + import org.springframework.beans.DirectFieldAccessor; import org.springframework.data.redis.ConnectionFactoryTracker; import org.springframework.data.redis.connection.RedisClusterConfiguration; @@ -642,7 +645,8 @@ public class LettuceConnectionFactoryUnitTests { RedisClusterClient clientMock = mock(RedisClusterClient.class); StatefulRedisClusterConnection connectionMock = mock(StatefulRedisClusterConnection.class); - when(clientMock.connectAsync(ByteArrayCodec.INSTANCE)).thenReturn(CompletableFuture.completedFuture(connectionMock)); + when(clientMock.connectAsync(ByteArrayCodec.INSTANCE)) + .thenReturn(CompletableFuture.completedFuture(connectionMock)); LettuceConnectionFactory connectionFactory = new LettuceConnectionFactory(clusterConfig, LettuceClientConfiguration.defaultConfiguration()) { @@ -676,7 +680,7 @@ public class LettuceConnectionFactoryUnitTests { LettuceConnectionFactory connectionFactory = new LettuceConnectionFactory() { @Override protected LettuceConnectionProvider doCreateConnectionProvider(AbstractRedisClient client, - RedisCodec codec) { + RedisCodec codec) { return connectionProviderMock; } }; @@ -707,41 +711,15 @@ public class LettuceConnectionFactoryUnitTests { assertThat(redisUri.getDatabase(), is(equalTo(1))); } - private static class CustomRedisConfiguration implements RedisConfiguration, WithHostAndPort { + @Data + @AllArgsConstructor + static class CustomRedisConfiguration implements RedisConfiguration, WithHostAndPort { - private static final String DEFAULT_HOST = "localhost"; - private static final int DEFAULT_PORT = 6379; + private String hostName; + private int port; - private String hostName = DEFAULT_HOST; - private int port = DEFAULT_PORT; - - public CustomRedisConfiguration(String hostName) { - this(hostName, DEFAULT_PORT); - } - - public CustomRedisConfiguration(String hostName, int port) { - this.hostName = hostName; - this.port = port; - } - - @Override - public String getHostName() { - return hostName; - } - - @Override - public void setHostName(String hostName) { - this.hostName = hostName; - } - - @Override - public int getPort() { - return port; - } - - @Override - public void setPort(int port) { - this.port = port; + CustomRedisConfiguration(String hostName) { + this(hostName, 6379); } } }