diff --git a/chushang-common/chushang-common-redis/src/main/java/com/chushang/redis/config/RedisConfiguration.java b/chushang-common/chushang-common-redis/src/main/java/com/chushang/redis/config/RedisConfiguration.java index abc42f7..1e86782 100644 --- a/chushang-common/chushang-common-redis/src/main/java/com/chushang/redis/config/RedisConfiguration.java +++ b/chushang-common/chushang-common-redis/src/main/java/com/chushang/redis/config/RedisConfiguration.java @@ -19,6 +19,7 @@ import org.springframework.cache.annotation.CachingConfigurerSupport; import org.springframework.cache.annotation.EnableCaching; import org.springframework.context.annotation.Bean; +import java.util.Arrays; import java.util.List; import java.util.stream.Collectors; @@ -65,21 +66,31 @@ public class RedisConfiguration extends CachingConfigurerSupport { } else if (ObjectUtil.isNotNull(clusterServerConfig)) { - List nodes = clusterServerConfig.getNodes(); - AssertUtil.invalidate(CollectionUtil.isEmpty(nodes), "redisson cluster 配置错误"); - nodes = nodes.stream().map(s-> "redis://" + s).collect(Collectors.toList()); + String nodes = clusterServerConfig.getNodes(); + AssertUtil.invalidate(StringUtils.isEmpty(nodes), "redisson cluster 配置错误"); + List nodeList; + if (nodes.contains("redis://")){ + nodeList = Arrays.stream(nodes.split(",")).toList(); + }else { + nodeList = Arrays.stream(nodes.split(",")).map(s-> "redis://" + s).collect(Collectors.toList()); + } config.useClusterServers() //设置redis key前缀 .setNameMapper(new KeyPrefixHandler(redissonProperties.getPrefix())) .setTimeout(redissonProperties.getTimeout()) .setPassword(redissonProperties.getPassword()) .setUsername(redissonProperties.getUsername()) - .setNodeAddresses(nodes); + .setNodeAddresses(nodeList); ; } else if (ObjectUtil.isNotNull(sentinelServerConfig)){ - List nodes = clusterServerConfig.getNodes(); - AssertUtil.invalidate(CollectionUtil.isEmpty(nodes), "redisson sentinel 配置错误"); - nodes = nodes.stream().map(s-> "redis://" + s).collect(Collectors.toList()); + String nodes = clusterServerConfig.getNodes(); + AssertUtil.invalidate(StringUtils.isEmpty(nodes), "redisson sentinel 配置错误"); + List nodeList; + if (nodes.contains("redis://")){ + nodeList = Arrays.stream(nodes.split(",")).toList(); + }else { + nodeList = Arrays.stream(nodes.split(",")).map(s-> "redis://" + s).collect(Collectors.toList()); + } config.useSentinelServers() .setNameMapper(new KeyPrefixHandler(redissonProperties.getPrefix())) .setTimeout(redissonProperties.getTimeout()) @@ -87,7 +98,7 @@ public class RedisConfiguration extends CachingConfigurerSupport { .setPassword(redissonProperties.getPassword()) .setDatabase(sentinelServerConfig.getDatabase()) .setMasterName(sentinelServerConfig.getMasterName()) - .setSentinelAddresses(nodes) + .setSentinelAddresses(nodeList) ; } log.info("------------- 初始化 redis 配置 -------------"); diff --git a/chushang-common/chushang-common-redis/src/main/java/com/chushang/redis/config/properties/RedissonProperties.java b/chushang-common/chushang-common-redis/src/main/java/com/chushang/redis/config/properties/RedissonProperties.java index f557e9a..2325368 100644 --- a/chushang-common/chushang-common-redis/src/main/java/com/chushang/redis/config/properties/RedissonProperties.java +++ b/chushang-common/chushang-common-redis/src/main/java/com/chushang/redis/config/properties/RedissonProperties.java @@ -81,7 +81,7 @@ public class RedissonProperties { /** * 集群 */ - private List nodes; + private String nodes; } @Data @@ -95,6 +95,6 @@ public class RedissonProperties { /** * 地址 */ - private List nodes; + private String nodes; } }