Add automatic discovery of cluster nodes

This commit is contained in:
Marcos Nils
2013-12-27 23:09:44 -03:00
parent af72248c22
commit 9f767a0848
4 changed files with 82 additions and 24 deletions

View File

@@ -1,28 +1,17 @@
package redis.clients.jedis;
import java.util.HashMap;
import java.util.Map;
import java.util.Random;
import java.util.Set;
import redis.clients.util.Pool;
public class JedisRandomConnectionHandler implements JedisClusterConnectionHandler {
public class JedisRandomConnectionHandler extends JedisClusterConnectionHandler {
private Map<String, JedisPool> nodes = new HashMap<String, JedisPool>();
public JedisRandomConnectionHandler(Set<HostAndPort> nodes) {
initializeSlotsCache(nodes);
super(nodes);
}
private void initializeSlotsCache(Set<HostAndPort> nodes) {
for (HostAndPort hostAndPort : nodes) {
JedisPool jp = new JedisPool(hostAndPort.getHost(),
hostAndPort.getPort());
this.nodes.put(hostAndPort.getHost() + hostAndPort.getPort(), jp);
}
}
@SuppressWarnings("unchecked")
public Jedis getConnection() {