public class ShardedJedisSentinelPoolExt extends Pool{private static final int MAX_RETRY_SENTINEL = 10;private static final Logger logger = LoggerFactory.getLogger(ShardedJedisSentinelPoolExt.class);privateGenericObjectPoolConfig poolConfig;private inttimeout;private intsentinelRetry;privateString password;private SetmasterListeners;private volatile ListcurrentHostMasters;privateString redisMasterName;private static Pattern pattern = Pattern.compile("^[A-Z0-9_]{5,200}\\$[0-9]{2,4}-[0-9]{2,4}([A-Z0-9_]{5,200})?");public ShardedJedisSentinelPoolExt(Set masters, Setsentinels) {this(masters, sentinels, new GenericObjectPoolConfig(), 2000, (String)null, 0);
}public ShardedJedisSentinelPoolExt(Set masters, Setsentinels, String password) {this((Set)masters, (Set)sentinels, new GenericObjectPoolConfig(), 2000, password);
}public ShardedJedisSentinelPoolExt(GenericObjectPoolConfig poolConfig, Set masters, Setsentinels) {this(masters, sentinels, poolConfig, 2000, (String)null, 0);
}public ShardedJedisSentinelPoolExt(String mastersStr, String sentinelsStr, GenericObjectPoolConfig poolConfig, inttimeout, String password) {this.timeout = 2000;this.sentinelRetry = 0;this.masterListeners = newHashSet();
String[] splitMasters= mastersStr.split(",");
String[] splitSentinels= sentinelsStr.split(",");
List masters = newArrayList();
String[] var9=splitMasters;int var10 =splitMasters.length;for(int var11 = 0; var11 < var10; ++var11) {
String splitMaster=var9[var11];
List stringList =convertToMatch(splitMaster);if (stringList != null) {
masters.addAll(stringList);
}
}
Set setSentinels = newHashSet(Arrays.asList(splitSentinels));this.poolConfig =poolConfig;this.timeout =timeout;this.password =password;this.redisMasterName =mastersStr;
List masterList = this.initSentinels(setSentinels, masters);this.initPool(masterList);
}public ShardedJedisSentinelPoolExt(String mastersStr, Set sentinels, GenericObjectPoolConfig poolConfig, inttimeout, String password) {this.timeout = 2000;this.sentinelRetry = 0;this.masterListeners = newHashSet();
String[] splitMasters= mastersStr.split(",");
Set masters = newHashSet();
String[] var8=splitMasters;int var9 =splitMasters.length;for(int var10 = 0; var10 < var9; ++var10) {
String splitMaster=var8[var10];
List stringList =convertToMatch(splitMaster);if (stringList != null) {
masters.addAll(stringList);
}
}this.poolConfig =poolConfig;this.timeout =timeout;this.password =password;this.redisMasterName =mastersStr;
List masterStrList = newArrayList(masters);
Collections.sort(masterStrList);
List masterList = this.initSentinels(sentinels, masterStrList);this.initPool(masterList);
}public ShardedJedisSentinelPoolExt(Set masters, Set sentinels, GenericObjectPoolConfig poolConfig, inttimeout, String password) {this(masters, sentinels, poolConfig, timeout, password, 0);
}public ShardedJedisSentinelPoolExt(Set masters, Set sentinels, GenericObjectPoolConfig poolConfig, inttimeout) {this(masters, sentinels, poolConfig, timeout, (String)null, 0);
}public ShardedJedisSentinelPoolExt(Set masters, Setsentinels, GenericObjectPoolConfig poolConfig, String password) {this((Set)masters, (Set)sentinels, poolConfig, 2000, password);