|
|
@ -257,6 +257,12 @@ public class SentinelConnectionManager extends MasterSlaveConnectionManager {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
performSentinelDNSCheck(commonListener);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}, config.getDnsMonitoringInterval(), TimeUnit.MILLISECONDS);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private void performSentinelDNSCheck(FutureListener<List<InetSocketAddress>> commonListener) {
|
|
|
|
for (RedisURI host : sentinelHosts) {
|
|
|
|
for (RedisURI host : sentinelHosts) {
|
|
|
|
Future<List<InetSocketAddress>> allNodes = sentinelResolver.resolveAll(InetSocketAddress.createUnresolved(host.getHost(), host.getPort()));
|
|
|
|
Future<List<InetSocketAddress>> allNodes = sentinelResolver.resolveAll(InetSocketAddress.createUnresolved(host.getHost(), host.getPort()));
|
|
|
|
allNodes.addListener(new FutureListener<List<InetSocketAddress>>() {
|
|
|
|
allNodes.addListener(new FutureListener<List<InetSocketAddress>>() {
|
|
|
@ -278,10 +284,10 @@ public class SentinelConnectionManager extends MasterSlaveConnectionManager {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
if (commonListener != null) {
|
|
|
|
allNodes.addListener(commonListener);
|
|
|
|
allNodes.addListener(commonListener);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}, config.getDnsMonitoringInterval(), TimeUnit.MILLISECONDS);
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
private void scheduleChangeCheck(SentinelServersConfig cfg, Iterator<RedisClient> iterator) {
|
|
|
|
private void scheduleChangeCheck(SentinelServersConfig cfg, Iterator<RedisClient> iterator) {
|
|
|
@ -306,6 +312,7 @@ public class SentinelConnectionManager extends MasterSlaveConnectionManager {
|
|
|
|
if (lastException.get() != null) {
|
|
|
|
if (lastException.get() != null) {
|
|
|
|
log.error("Can't update cluster state", lastException.get());
|
|
|
|
log.error("Can't update cluster state", lastException.get());
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
performSentinelDNSCheck(null);
|
|
|
|
scheduleChangeCheck(cfg, null);
|
|
|
|
scheduleChangeCheck(cfg, null);
|
|
|
|
return;
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
}
|
|
|
|