88import org .springframework .util .StringUtils ;
99
1010import java .util .HashMap ;
11+ import java .util .List ;
1112import java .util .Map ;
1213
1314@ Order
1415public class RedisToolEnvironmentMapperPostProcessor implements EnvironmentPostProcessor {
1516 private static final Map <String , String > REDIS_CONFIG_MAPPER = new HashMap <>();
17+ private static final Map <String , String > REDIS_CONFIG_MAPPER_COMMON = new HashMap <>();
1618
1719 //File文件类型 数据权限
1820 static {
21+ //url
22+ REDIS_CONFIG_MAPPER .put ("extensions.redis_template_tool.custom.redisUrl" , "spring.redis.url" );
23+ //单机
1924 REDIS_CONFIG_MAPPER .put ("extensions.redis_template_tool.custom.redisHost" , "spring.redis.host" );
2025 REDIS_CONFIG_MAPPER .put ("extensions.redis_template_tool.custom.redisPort" , "spring.redis.port" );
21- REDIS_CONFIG_MAPPER .put ("extensions.redis_template_tool.custom.redisDatabase" , "spring.redis.database" );
22- REDIS_CONFIG_MAPPER .put ("extensions.redis_template_tool.custom.redisPassword" , "spring.redis.password" );
26+ //哨兵
2327 REDIS_CONFIG_MAPPER .put ("extensions.redis_template_tool.custom.redisSentinelMaster" , "spring.redis.sentinel.master" );
2428 REDIS_CONFIG_MAPPER .put ("extensions.redis_template_tool.custom.redisSentinelNodes" , "spring.redis.sentinel.nodes" );
25- REDIS_CONFIG_MAPPER .put ("extensions.redis_template_tool.custom.redisClusterNodes" , "spring.redis.cluster.nodes" );
26- REDIS_CONFIG_MAPPER .put ("extensions.redis_template_tool.custom.redisSlaveHost" , "spring.redis.slave.host" );
27- REDIS_CONFIG_MAPPER .put ("extensions.redis_template_tool.custom.redisSlavePort" , "spring.redis.slave.port" );
2829 REDIS_CONFIG_MAPPER .put ("extensions.redis_template_tool.custom.redisSentinelPassword" , "spring.redis.sentinel.password" );
29- REDIS_CONFIG_MAPPER .put ("extensions.redis_template_tool.custom.springRedisTimeout" , "spring.redis.timeout" );
30- REDIS_CONFIG_MAPPER .put ("extensions.redis_template_tool.custom.springRedisSsl" , "spring.redis.ssl" );
31- REDIS_CONFIG_MAPPER .put ("extensions.redis_template_tool.custom.springRedisLettucePoolMaxActive" , "spring.redis.lettuce.pool.max-active" );
32- REDIS_CONFIG_MAPPER .put ("extensions.redis_template_tool.custom.springRedisLettucePoolMaxIdle" , "spring.redis.lettuce.pool.max-idle" );
33- REDIS_CONFIG_MAPPER .put ("extensions.redis_template_tool.custom.springRedisLettucePoolMinIdle" , "spring.redis.lettuce.pool.min-idle" );
34- REDIS_CONFIG_MAPPER .put ("extensions.redis_template_tool.custom.springRedisLettuceCommandTimeout" , "spring.redis.lettuce.command-timeout" );
35- REDIS_CONFIG_MAPPER .put ("extensions.redis_template_tool.custom.springRedisLettuceShutdownTimeout" , "spring.redis.lettuce.shutdown-timeout" );
36- REDIS_CONFIG_MAPPER .put ("extensions.redis_template_tool.custom.springRedisLettuceClientName" , "spring.redis.lettuce.client-name" );
30+ //集群
31+ REDIS_CONFIG_MAPPER .put ("extensions.redis_template_tool.custom.redisClusterNodes" , "spring.redis.cluster.nodes" );
32+ REDIS_CONFIG_MAPPER .put ("extensions.redis_template_tool.custom.redisClusterMaxRedirects" , "spring.redis.cluster.maxRedirects" );
33+ //公共
34+ REDIS_CONFIG_MAPPER_COMMON .put ("extensions.redis_template_tool.custom.redisDatabase" , "spring.redis.database" );
35+ REDIS_CONFIG_MAPPER_COMMON .put ("extensions.redis_template_tool.custom.redisPassword" , "spring.redis.password" );
36+ REDIS_CONFIG_MAPPER_COMMON .put ("extensions.redis_template_tool.custom.redisClientName" , "spring.redis.clientName" );
37+ REDIS_CONFIG_MAPPER_COMMON .put ("extensions.redis_template_tool.custom.springRedisTimeout" , "spring.redis.timeout" );
38+ REDIS_CONFIG_MAPPER_COMMON .put ("extensions.redis_template_tool.custom.springRedisSsl" , "spring.redis.ssl" );
39+ REDIS_CONFIG_MAPPER_COMMON .put ("extensions.redis_template_tool.custom.springRedisLettucePoolMaxActive" , "spring.redis.lettuce.pool.max-active" );
40+ REDIS_CONFIG_MAPPER_COMMON .put ("extensions.redis_template_tool.custom.springRedisLettucePoolMaxIdle" , "spring.redis.lettuce.pool.max-idle" );
41+ REDIS_CONFIG_MAPPER_COMMON .put ("extensions.redis_template_tool.custom.springRedisLettucePoolMinIdle" , "spring.redis.lettuce.pool.min-idle" );
42+ REDIS_CONFIG_MAPPER_COMMON .put ("extensions.redis_template_tool.custom.springRedisLettucePoolMaxWait" , "spring.redis.lettuce.pool.max-wait" );
43+ REDIS_CONFIG_MAPPER_COMMON .put ("extensions.redis_template_tool.custom.springRedisLettuceShutdownTimeout" , "spring.redis.lettuce.shutdown-timeout" );
3744 }
3845
3946 /**
@@ -45,7 +52,25 @@ public class RedisToolEnvironmentMapperPostProcessor implements EnvironmentPostP
4552 @ Override
4653 public void postProcessEnvironment (ConfigurableEnvironment environment , SpringApplication application ) {
4754 Map <String , Object > mapperProperties = new HashMap <>();
55+ String redisMode = environment .getProperty ("extensions.redis_template_tool.custom.redisMode" );
56+ if (StringUtils .isEmpty (redisMode )) {
57+ redisMode = "1" ;
58+ }
59+ List <String > redisCustomConfigList = RedisModeEnum .getRedisModeValueByKey (redisMode );
60+ //自定义模式配置
4861 REDIS_CONFIG_MAPPER .forEach ((key , value ) -> {
62+ if (environment .containsProperty (value )) {
63+ return ;
64+ }
65+ if (environment .containsProperty (key ) && redisCustomConfigList .contains (key )) {
66+ String property = environment .getProperty (key );
67+ if (!StringUtils .isEmpty (property )) {
68+ mapperProperties .put (value , property );
69+ }
70+ }
71+ });
72+ //公共配置
73+ REDIS_CONFIG_MAPPER_COMMON .forEach ((key , value ) -> {
4974 if (environment .containsProperty (value )) {
5075 return ;
5176 }
0 commit comments