From 4beb93c3598e691abbdb5729d747499a886e9f96 Mon Sep 17 00:00:00 2001 From: hongqiaowei Date: Sat, 9 Jul 2022 18:24:52 +0800 Subject: [PATCH] Fix FizzBeanFactoryPostProcessor.initReactiveStringRedisTemplate --- .../config/FizzBeanFactoryPostProcessor.java | 40 +++++++++---------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/fizz-core/src/main/java/we/beans/factory/config/FizzBeanFactoryPostProcessor.java b/fizz-core/src/main/java/we/beans/factory/config/FizzBeanFactoryPostProcessor.java index 562c36f..19ac54c 100644 --- a/fizz-core/src/main/java/we/beans/factory/config/FizzBeanFactoryPostProcessor.java +++ b/fizz-core/src/main/java/we/beans/factory/config/FizzBeanFactoryPostProcessor.java @@ -30,11 +30,13 @@ import org.springframework.context.ApplicationContext; import org.springframework.context.ApplicationContextAware; import org.springframework.context.EnvironmentAware; import org.springframework.core.Ordered; -import org.springframework.core.env.*; +import org.springframework.core.env.ConfigurableEnvironment; +import org.springframework.core.env.Environment; +import org.springframework.core.env.MapPropertySource; +import org.springframework.core.env.MutablePropertySources; import org.springframework.data.redis.core.ReactiveStringRedisTemplate; import reactor.core.publisher.Flux; import reactor.core.publisher.Mono; -import we.config.AggregateRedisConfig; import we.config.FizzConfigConfiguration; import we.config.RedisReactiveProperties; import we.context.config.annotation.FizzRefreshScope; @@ -70,26 +72,24 @@ public class FizzBeanFactoryPostProcessor implements BeanFactoryPostProcessor, E } private void initReactiveStringRedisTemplate() { - Properties aggregateRedisProperties = new Properties(); - boolean find = false; - for (PropertySource propertySource : environment.getPropertySources()) { - if (MapPropertySource.class.isAssignableFrom(propertySource.getClass())) { - MapPropertySource mps = (MapPropertySource) propertySource; - String[] propertyNames = mps.getPropertyNames(); - for (String propertyName : propertyNames) { - if (propertyName.startsWith(AggregateRedisConfig.AGGREGATE_REDIS_PREFIX)) { - aggregateRedisProperties.put(propertyName.substring(AggregateRedisConfig.AGGREGATE_REDIS_PREFIX.length() + 1), mps.getProperty(propertyName)); - find = true; - } - } - if (find) { - break; - } - } - } RedisReactiveProperties redisReactiveProperties = new RedisReactiveProperties() { }; - PropertiesUtils.setBeanPropertyValue(redisReactiveProperties, aggregateRedisProperties); + + String host = environment.getProperty("aggregate.redis.host"); + if (StringUtils.isBlank(host)) { + redisReactiveProperties.setType(RedisReactiveProperties.CLUSTER); + redisReactiveProperties.setClusterNodes(environment.getProperty("aggregate.redis.clusterNodes")); + } else { + redisReactiveProperties.setHost(host); + redisReactiveProperties.setPort(Integer.parseInt(environment.getProperty("aggregate.redis.port"))); + redisReactiveProperties.setDatabase(Integer.parseInt(environment.getProperty("aggregate.redis.database"))); + } + + String password = environment.getProperty("aggregate.redis.password"); + if (StringUtils.isNotBlank(password)) { + redisReactiveProperties.setPassword(password); + } + reactiveStringRedisTemplate = ReactiveRedisHelper.getStringRedisTemplate(redisReactiveProperties); }