Skip to content
Original file line number Diff line number Diff line change
Expand Up @@ -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;

Expand Down Expand Up @@ -60,4 +61,12 @@ public ReactiveRedisTemplate<Object, Object> reactiveRedisTemplate(
serializationContext);
}

@Bean
@ConditionalOnMissingBean(name = "reactiveStringRedisTemplate")
@ConditionalOnBean(ReactiveRedisConnectionFactory.class)
public ReactiveStringRedisTemplate reactiveStringRedisTemplate(
ReactiveRedisConnectionFactory reactiveRedisConnectionFactory) {
return new ReactiveStringRedisTemplate(reactiveRedisConnectionFactory);
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -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");
});
}

Expand Down