From a292e336c3007540cf76a18a1ab3e3813e87ea11 Mon Sep 17 00:00:00 2001 From: Qiang Lee <18018968632@163.com> Date: Fri, 19 Apr 2019 14:58:26 +0800 Subject: [PATCH 1/7] Instantiate default ReactiveStringRedisTemplate bean in RedisReactiveAutoConfiguration Like the @Bean-annotated method {stringRedisTemplate()} in @Configuration-annotated class RedisAutoConfiguration, add a @Bean-annotated method {reactiveRedisTemplate()} in class RedisReactiveAutoConfiguration, which avoids unnecessary repeated configuration when used in different applications. --- .../data/redis/RedisReactiveAutoConfiguration.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/redis/RedisReactiveAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/redis/RedisReactiveAutoConfiguration.java index 54a5a0af3e35..4a8b564698ca 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/redis/RedisReactiveAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/redis/RedisReactiveAutoConfiguration.java @@ -28,6 +28,7 @@ import org.springframework.core.io.ResourceLoader; import org.springframework.data.redis.connection.ReactiveRedisConnectionFactory; import org.springframework.data.redis.core.ReactiveRedisTemplate; +import org.springframework.data.redis.core.ReactiveStringRedisTemplate; import org.springframework.data.redis.serializer.JdkSerializationRedisSerializer; import org.springframework.data.redis.serializer.RedisSerializationContext; @@ -59,5 +60,11 @@ public ReactiveRedisTemplate reactiveRedisTemplate( return new ReactiveRedisTemplate<>(reactiveRedisConnectionFactory, serializationContext); } + + @Bean + @ConditionalOnMissingBean + ReactiveStringRedisTemplate reactiveRedisTemplate(ReactiveRedisConnectionFactory factory) { + return new ReactiveStringRedisTemplate(factory); + } } From 6df8f641b3bc6142eed936fd1877b245121efa53 Mon Sep 17 00:00:00 2001 From: Qiang Lee <18018968632@163.com> Date: Fri, 19 Apr 2019 15:20:56 +0800 Subject: [PATCH 2/7] Instantiate default ReactiveStringRedisTemplate bean in RedisReactiveAutoConfiguration Like the @Bean-annotated method {stringRedisTemplate()} in @Configuration-annotated class RedisAutoConfiguration, add a @Bean-annotated method {reactiveRedisTemplate()} in class RedisReactiveAutoConfiguration, which avoids unnecessary repeated configuration when used in different applications. --- .../data/redis/RedisReactiveAutoConfiguration.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/redis/RedisReactiveAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/redis/RedisReactiveAutoConfiguration.java index 4a8b564698ca..9270d84584ca 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/redis/RedisReactiveAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/redis/RedisReactiveAutoConfiguration.java @@ -63,7 +63,7 @@ public ReactiveRedisTemplate reactiveRedisTemplate( @Bean @ConditionalOnMissingBean - ReactiveStringRedisTemplate reactiveRedisTemplate(ReactiveRedisConnectionFactory factory) { + public ReactiveStringRedisTemplate reactiveRedisTemplate(ReactiveRedisConnectionFactory factory) { return new ReactiveStringRedisTemplate(factory); } From 62e13cf7382d1df22f7ba33b452fdb1ddcce98c3 Mon Sep 17 00:00:00 2001 From: Qiang Lee <18018968632@163.com> Date: Fri, 19 Apr 2019 16:29:08 +0800 Subject: [PATCH 3/7] Instantiate default ReactiveStringRedisTemplate bean in RedisReactiveAutoConfiguration --- .../data/redis/RedisReactiveAutoConfiguration.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/redis/RedisReactiveAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/redis/RedisReactiveAutoConfiguration.java index 9270d84584ca..b11b058444f8 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/redis/RedisReactiveAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/redis/RedisReactiveAutoConfiguration.java @@ -63,7 +63,7 @@ public ReactiveRedisTemplate reactiveRedisTemplate( @Bean @ConditionalOnMissingBean - public ReactiveStringRedisTemplate reactiveRedisTemplate(ReactiveRedisConnectionFactory factory) { + public ReactiveStringRedisTemplate reactiveStringRedisTemplate(ReactiveRedisConnectionFactory factory) { return new ReactiveStringRedisTemplate(factory); } From c6c6a43331dc5f608466bf457af976e40ed100b9 Mon Sep 17 00:00:00 2001 From: Qiang Lee <1725055744@qq.com> Date: Tue, 23 Apr 2019 08:46:06 +0800 Subject: [PATCH 4/7] =?UTF-8?q?Instantiate=20default=20ReactiveStringRedis?= =?UTF-8?q?Template=C2=A0=20bean=20in=20RedisReactiveAutoConfiguration?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../data/redis/RedisReactiveAutoConfiguration.java | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/redis/RedisReactiveAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/redis/RedisReactiveAutoConfiguration.java index b11b058444f8..af159ef55491 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/redis/RedisReactiveAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/redis/RedisReactiveAutoConfiguration.java @@ -60,11 +60,12 @@ public ReactiveRedisTemplate reactiveRedisTemplate( return new ReactiveRedisTemplate<>(reactiveRedisConnectionFactory, serializationContext); } - + @Bean - @ConditionalOnMissingBean - public ReactiveStringRedisTemplate reactiveStringRedisTemplate(ReactiveRedisConnectionFactory factory) { - return new ReactiveStringRedisTemplate(factory); - } + @ConditionalOnMissingBean + public ReactiveStringRedisTemplate reactiveStringRedisTemplate( + ReactiveRedisConnectionFactory reactiveRedisConnectionFactory) { + return new ReactiveStringRedisTemplate(reactiveRedisConnectionFactory); + } } From d24b41d2910af9f2987ebeb696b421fd8f600c1a Mon Sep 17 00:00:00 2001 From: Qiang Lee <1725055744@qq.com> Date: Tue, 23 Apr 2019 09:22:05 +0800 Subject: [PATCH 5/7] =?UTF-8?q?Instantiate=20default=20ReactiveStringRedis?= =?UTF-8?q?Template=C2=A0=20bean=20in=20RedisReactiveAutoConfiguration?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../data/redis/RedisReactiveAutoConfigurationTests.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/data/redis/RedisReactiveAutoConfigurationTests.java b/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/data/redis/RedisReactiveAutoConfigurationTests.java index fcb81460e0c9..143d31541920 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/data/redis/RedisReactiveAutoConfigurationTests.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/data/redis/RedisReactiveAutoConfigurationTests.java @@ -41,7 +41,7 @@ public class RedisReactiveAutoConfigurationTests { public void testDefaultRedisConfiguration() { this.contextRunner.run((context) -> { Map beans = context.getBeansOfType(ReactiveRedisTemplate.class); - assertThat(beans).containsOnlyKeys("reactiveRedisTemplate"); + assertThat(beans).containsOnlyKeys("reactiveRedisTemplate","reactiveStringRedisTemplate"); }); } From be7e99a27a3387324eddc26994553034a5a88b56 Mon Sep 17 00:00:00 2001 From: Qiang Lee <1725055744@qq.com> Date: Tue, 23 Apr 2019 09:37:00 +0800 Subject: [PATCH 6/7] =?UTF-8?q?Instantiate=20default=20ReactiveStringRedis?= =?UTF-8?q?Template=C2=A0=20bean=20in=20RedisReactiveAutoConfiguration?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../data/redis/RedisReactiveAutoConfigurationTests.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/data/redis/RedisReactiveAutoConfigurationTests.java b/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/data/redis/RedisReactiveAutoConfigurationTests.java index 143d31541920..5f626aea1fe2 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/data/redis/RedisReactiveAutoConfigurationTests.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/data/redis/RedisReactiveAutoConfigurationTests.java @@ -41,7 +41,8 @@ public class RedisReactiveAutoConfigurationTests { public void testDefaultRedisConfiguration() { this.contextRunner.run((context) -> { Map beans = context.getBeansOfType(ReactiveRedisTemplate.class); - assertThat(beans).containsOnlyKeys("reactiveRedisTemplate","reactiveStringRedisTemplate"); + assertThat(beans).containsOnlyKeys("reactiveRedisTemplate", + "reactiveStringRedisTemplate"); }); } From c7528d30d7a7b6f9033beed0ad5b508c37638ca0 Mon Sep 17 00:00:00 2001 From: Qiang Lee <1725055744@qq.com> Date: Tue, 23 Apr 2019 10:19:27 +0800 Subject: [PATCH 7/7] =?UTF-8?q?Instantiate=20default=20ReactiveStringRedis?= =?UTF-8?q?Template=C2=A0=20bean=20in=20RedisReactiveAutoConfiguration?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../data/redis/RedisReactiveAutoConfiguration.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/redis/RedisReactiveAutoConfiguration.java b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/redis/RedisReactiveAutoConfiguration.java index af159ef55491..6be5d1a2e057 100644 --- a/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/redis/RedisReactiveAutoConfiguration.java +++ b/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/redis/RedisReactiveAutoConfiguration.java @@ -62,7 +62,8 @@ public ReactiveRedisTemplate reactiveRedisTemplate( } @Bean - @ConditionalOnMissingBean + @ConditionalOnMissingBean(name = "reactiveStringRedisTemplate") + @ConditionalOnBean(ReactiveRedisConnectionFactory.class) public ReactiveStringRedisTemplate reactiveStringRedisTemplate( ReactiveRedisConnectionFactory reactiveRedisConnectionFactory) { return new ReactiveStringRedisTemplate(reactiveRedisConnectionFactory);