diff --git a/redis-manager-dashboard/src/main/java/com/newegg/ec/redis/client/RedisClient.java b/redis-manager-dashboard/src/main/java/com/newegg/ec/redis/client/RedisClient.java index 4257e49e..cc8b52d4 100644 --- a/redis-manager-dashboard/src/main/java/com/newegg/ec/redis/client/RedisClient.java +++ b/redis-manager-dashboard/src/main/java/com/newegg/ec/redis/client/RedisClient.java @@ -5,6 +5,7 @@ import com.newegg.ec.redis.util.RedisUtil; import com.newegg.ec.redis.util.SignUtil; import org.apache.commons.lang.StringUtils; +import org.apache.commons.pool2.impl.GenericObjectPoolConfig; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import redis.clients.jedis.*; @@ -18,6 +19,7 @@ import java.nio.charset.StandardCharsets; import java.util.*; +import static com.newegg.ec.redis.client.RedisURI.MAX_ATTEMPTS; import static com.newegg.ec.redis.client.RedisURI.TIMEOUT; import static com.newegg.ec.redis.util.RedisUtil.*; @@ -738,7 +740,12 @@ public Map clusterNodesIP(Cluster cluster) { String redisUrl = cluster.getNodes().split(",")[0]; String redisHost = redisUrl.split(":")[0]; int redisPort = Integer.parseInt(redisUrl.split(":")[1]); - JedisCluster jedisCluster = new JedisCluster(new HostAndPort(redisHost,redisPort)); + JedisCluster jedisCluster = null; + if (Strings.isNullOrEmpty(cluster.getRedisPassword())) { + jedisCluster = new JedisCluster(new HostAndPort(redisHost,redisPort)); + } else { + jedisCluster = new JedisCluster(new HostAndPort(redisHost,redisPort), TIMEOUT, TIMEOUT, MAX_ATTEMPTS, cluster.getRedisPassword(), new GenericObjectPoolConfig()); + } Map nodes = jedisCluster.getClusterNodes(); Map clusterNodesIP = new HashMap<>(); nodes.forEach((k, v) -> { @@ -861,7 +868,12 @@ public Map> clusterNodesMap(Cluster cluster) { String redisUrl = cluster.getNodes().split(",")[0]; String redisHost = redisUrl.split(":")[0]; int redisPort = Integer.parseInt(redisUrl.split(":")[1]); - JedisCluster jedisCluster = new JedisCluster(new HostAndPort(redisHost,redisPort)); + JedisCluster jedisCluster = null; + if (Strings.isNullOrEmpty(cluster.getRedisPassword())) { + jedisCluster = new JedisCluster(new HostAndPort(redisHost,redisPort)); + } else { + jedisCluster = new JedisCluster(new HostAndPort(redisHost,redisPort), TIMEOUT, TIMEOUT, MAX_ATTEMPTS, cluster.getRedisPassword(), new GenericObjectPoolConfig()); + } Map nodes = jedisCluster.getClusterNodes(); Map> clusterNodes = new HashMap<>();