diff --git a/redisson-spring-boot-starter/src/main/java/org/redisson/spring/starter/RedissonAutoConfiguration.java b/redisson-spring-boot-starter/src/main/java/org/redisson/spring/starter/RedissonAutoConfiguration.java index 1d1bee072..61ac7eed5 100644 --- a/redisson-spring-boot-starter/src/main/java/org/redisson/spring/starter/RedissonAutoConfiguration.java +++ b/redisson-spring-boot-starter/src/main/java/org/redisson/spring/starter/RedissonAutoConfiguration.java @@ -74,7 +74,9 @@ public class RedissonAutoConfiguration { Method timeoutMethod = ReflectionUtils.findMethod(RedisProperties.class, "getTimeout"); Object timeoutValue = ReflectionUtils.invokeMethod(timeoutMethod, redisProperties); int timeout; - if (!(timeoutValue instanceof Integer)) { + if(null == timeoutValue){ + timeout = 0; + }else if (!(timeoutValue instanceof Integer)) { Method millisMethod = ReflectionUtils.findMethod(timeoutValue.getClass(), "toMillis"); timeout = ((Long) ReflectionUtils.invokeMethod(millisMethod, timeoutValue)).intValue(); } else { diff --git a/redisson/src/main/java/org/redisson/connection/SentinelConnectionManager.java b/redisson/src/main/java/org/redisson/connection/SentinelConnectionManager.java index 641cb15c1..dc6db1e7e 100755 --- a/redisson/src/main/java/org/redisson/connection/SentinelConnectionManager.java +++ b/redisson/src/main/java/org/redisson/connection/SentinelConnectionManager.java @@ -371,8 +371,11 @@ public class SentinelConnectionManager extends MasterSlaveConnectionManager { Set removedSlaves = new HashSet(slaves); removedSlaves.removeAll(currentSlaves); for (String slave : removedSlaves) { - String[] parts = slave.replace("redis://", "").split(":"); - slaveDown(parts[0], parts[1]); + String hostPort = slave.replace("redis://", ""); + int lastColonIdx = hostPort.lastIndexOf(":"); + String host = hostPort.substring(0, lastColonIdx); + String port = hostPort.substring(lastColonIdx + 1); + slaveDown(host, port); } }; };