Auto-configure ReactiveStringRedisTemplate if necessary

See gh-16604
This commit is contained in:
Qiang Lee 2019-04-19 14:58:26 +08:00 committed by Stephane Nicoll
parent 81543873d4
commit 866233bd2f
2 changed files with 11 additions and 1 deletions

View File

@ -28,6 +28,7 @@ import org.springframework.context.annotation.Configuration;
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;
@ -60,4 +61,12 @@ public class RedisReactiveAutoConfiguration {
serializationContext);
}
@Bean
@ConditionalOnMissingBean(name = "reactiveStringRedisTemplate")
@ConditionalOnBean(ReactiveRedisConnectionFactory.class)
public ReactiveStringRedisTemplate reactiveStringRedisTemplate(
ReactiveRedisConnectionFactory reactiveRedisConnectionFactory) {
return new ReactiveStringRedisTemplate(reactiveRedisConnectionFactory);
}
}

View File

@ -41,7 +41,8 @@ public class RedisReactiveAutoConfigurationTests {
public void testDefaultRedisConfiguration() {
this.contextRunner.run((context) -> {
Map<String, ?> beans = context.getBeansOfType(ReactiveRedisTemplate.class);
assertThat(beans).containsOnlyKeys("reactiveRedisTemplate");
assertThat(beans).containsOnlyKeys("reactiveRedisTemplate",
"reactiveStringRedisTemplate");
});
}