Fix FizzBeanFactoryPostProcessor.initReactiveStringRedisTemplate
This commit is contained in:
@@ -30,11 +30,13 @@ import org.springframework.context.ApplicationContext;
|
|||||||
import org.springframework.context.ApplicationContextAware;
|
import org.springframework.context.ApplicationContextAware;
|
||||||
import org.springframework.context.EnvironmentAware;
|
import org.springframework.context.EnvironmentAware;
|
||||||
import org.springframework.core.Ordered;
|
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 org.springframework.data.redis.core.ReactiveStringRedisTemplate;
|
||||||
import reactor.core.publisher.Flux;
|
import reactor.core.publisher.Flux;
|
||||||
import reactor.core.publisher.Mono;
|
import reactor.core.publisher.Mono;
|
||||||
import we.config.AggregateRedisConfig;
|
|
||||||
import we.config.FizzConfigConfiguration;
|
import we.config.FizzConfigConfiguration;
|
||||||
import we.config.RedisReactiveProperties;
|
import we.config.RedisReactiveProperties;
|
||||||
import we.context.config.annotation.FizzRefreshScope;
|
import we.context.config.annotation.FizzRefreshScope;
|
||||||
@@ -70,26 +72,24 @@ public class FizzBeanFactoryPostProcessor implements BeanFactoryPostProcessor, E
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void initReactiveStringRedisTemplate() {
|
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() {
|
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);
|
reactiveStringRedisTemplate = ReactiveRedisHelper.getStringRedisTemplate(redisReactiveProperties);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user