From 1f80079c49a89f043146d526bcddb8787df2e453 Mon Sep 17 00:00:00 2001 From: Alen Turkovic Date: Tue, 20 Mar 2018 11:21:12 +0100 Subject: [PATCH] Add Redis Sentinel database support See gh-12556 --- .../data/redis/RedisConnectionConfiguration.java | 2 ++ .../data/redis/RedisAutoConfigurationTests.java | 15 +++++++++++++++ 2 files changed, 17 insertions(+) diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/redis/RedisConnectionConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/redis/RedisConnectionConfiguration.java index f5730d56ec3..c922acb20d1 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/redis/RedisConnectionConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/redis/RedisConnectionConfiguration.java @@ -35,6 +35,7 @@ import org.springframework.util.StringUtils; * * @author Mark Paluch * @author Stephane Nicoll + * @author Alen Turkovic */ abstract class RedisConnectionConfiguration { @@ -81,6 +82,7 @@ abstract class RedisConnectionConfiguration { if (this.properties.getPassword() != null) { config.setPassword(RedisPassword.of(this.properties.getPassword())); } + config.setDatabase(this.properties.getDatabase()); return config; } return null; diff --git a/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/data/redis/RedisAutoConfigurationTests.java b/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/data/redis/RedisAutoConfigurationTests.java index 9a23568263d..f58078419c2 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/data/redis/RedisAutoConfigurationTests.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/data/redis/RedisAutoConfigurationTests.java @@ -49,6 +49,7 @@ import static org.assertj.core.api.Assertions.assertThat; * @author Marco Aust * @author Mark Paluch * @author Stephane Nicoll + * @author Alen Turkovic */ public class RedisAutoConfigurationTests { @@ -191,6 +192,20 @@ public class RedisAutoConfigurationTests { .isTrue()); } + @Test + public void testRedisConfigurationWithSentinelAndDatabase() { + this.contextRunner + .withPropertyValues("spring.redis.database:1", + "spring.redis.sentinel.master:mymaster", + "spring.redis.sentinel.nodes:127.0.0.1:26379, 127.0.0.1:26380") + .run((context) -> { + LettuceConnectionFactory connectionFactory = context + .getBean(LettuceConnectionFactory.class); + assertThat(connectionFactory.getDatabase()).isEqualTo(1); + assertThat(connectionFactory.isRedisSentinelAware()).isTrue(); + }); + } + @Test public void testRedisConfigurationWithSentinelAndPassword() { this.contextRunner