Merge branch 'master' of github.com:rdifalco/jedis into rdifalco-master
Conflicts: src/main/java/redis/clients/jedis/BinaryJedis.java
This commit is contained in:
@@ -1849,54 +1849,56 @@ public class Jedis extends BinaryJedis implements JedisCommands,
|
||||
* programming language used.
|
||||
*/
|
||||
public List<String> blpop(final int timeout, final String... keys) {
|
||||
checkIsInMulti();
|
||||
List<String> args = new ArrayList<String>();
|
||||
for (String arg : keys) {
|
||||
args.add(arg);
|
||||
}
|
||||
args.add(String.valueOf(timeout));
|
||||
return blpop(getArgsAddTimeout(timeout, keys));
|
||||
}
|
||||
|
||||
client.blpop(args.toArray(new String[args.size()]));
|
||||
client.setTimeoutInfinite();
|
||||
final List<String> multiBulkReply = client.getMultiBulkReply();
|
||||
client.rollbackTimeout();
|
||||
return multiBulkReply;
|
||||
private String[] getArgsAddTimeout (int timeout, String[] keys) {
|
||||
final int keyCount = keys.length;
|
||||
final String[] args = new String[keyCount + 1];
|
||||
for (int at = 0; at != keyCount; ++at) {
|
||||
args[at] = keys[at];
|
||||
}
|
||||
|
||||
args[keyCount] = String.valueOf(timeout);
|
||||
return args;
|
||||
}
|
||||
|
||||
public List<String> blpop(String... args) {
|
||||
checkIsInMulti();
|
||||
client.blpop(args);
|
||||
client.setTimeoutInfinite();
|
||||
final List<String> multiBulkReply = client.getMultiBulkReply();
|
||||
client.rollbackTimeout();
|
||||
return multiBulkReply;
|
||||
try {
|
||||
return client.getMultiBulkReply();
|
||||
} finally {
|
||||
client.rollbackTimeout();
|
||||
}
|
||||
}
|
||||
|
||||
public List<String> brpop(String... args) {
|
||||
checkIsInMulti();
|
||||
client.brpop(args);
|
||||
client.setTimeoutInfinite();
|
||||
final List<String> multiBulkReply = client.getMultiBulkReply();
|
||||
client.rollbackTimeout();
|
||||
return multiBulkReply;
|
||||
try {
|
||||
return client.getMultiBulkReply();
|
||||
} finally {
|
||||
client.rollbackTimeout();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @deprecated unusable command, this command will be removed in 3.0.0.
|
||||
*/
|
||||
@Deprecated
|
||||
public List<String> blpop(String arg) {
|
||||
String[] args = new String[1];
|
||||
args[0] = arg;
|
||||
client.blpop(args);
|
||||
client.setTimeoutInfinite();
|
||||
final List<String> multiBulkReply = client.getMultiBulkReply();
|
||||
client.rollbackTimeout();
|
||||
return multiBulkReply;
|
||||
return blpop(new String[]{arg});
|
||||
}
|
||||
|
||||
/**
|
||||
* @deprecated unusable command, this command will be removed in 3.0.0.
|
||||
*/
|
||||
@Deprecated
|
||||
public List<String> brpop(String arg) {
|
||||
String[] args = new String[1];
|
||||
args[0] = arg;
|
||||
client.brpop(args);
|
||||
client.setTimeoutInfinite();
|
||||
final List<String> multiBulkReply = client.getMultiBulkReply();
|
||||
client.rollbackTimeout();
|
||||
return multiBulkReply;
|
||||
return brpop(new String[]{arg});
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -2014,19 +2016,7 @@ public class Jedis extends BinaryJedis implements JedisCommands,
|
||||
* programming language used.
|
||||
*/
|
||||
public List<String> brpop(final int timeout, final String... keys) {
|
||||
checkIsInMulti();
|
||||
List<String> args = new ArrayList<String>();
|
||||
for (String arg : keys) {
|
||||
args.add(arg);
|
||||
}
|
||||
args.add(String.valueOf(timeout));
|
||||
|
||||
client.brpop(args.toArray(new String[args.size()]));
|
||||
client.setTimeoutInfinite();
|
||||
List<String> multiBulkReply = client.getMultiBulkReply();
|
||||
client.rollbackTimeout();
|
||||
|
||||
return multiBulkReply;
|
||||
return brpop(getArgsAddTimeout(timeout, keys));
|
||||
}
|
||||
|
||||
public Long zcount(final String key, final double min, final double max) {
|
||||
@@ -2730,9 +2720,11 @@ public class Jedis extends BinaryJedis implements JedisCommands,
|
||||
public String brpoplpush(String source, String destination, int timeout) {
|
||||
client.brpoplpush(source, destination, timeout);
|
||||
client.setTimeoutInfinite();
|
||||
String reply = client.getBulkReply();
|
||||
client.rollbackTimeout();
|
||||
return reply;
|
||||
try {
|
||||
return client.getBulkReply();
|
||||
} finally {
|
||||
client.rollbackTimeout();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -2867,16 +2859,22 @@ public class Jedis extends BinaryJedis implements JedisCommands,
|
||||
|
||||
public Object eval(String script, int keyCount, String... params) {
|
||||
client.setTimeoutInfinite();
|
||||
client.eval(script, keyCount, params);
|
||||
|
||||
return getEvalResult();
|
||||
try {
|
||||
client.eval(script, keyCount, params);
|
||||
return getEvalResult();
|
||||
} finally {
|
||||
client.rollbackTimeout();
|
||||
}
|
||||
}
|
||||
|
||||
public void subscribe(final JedisPubSub jedisPubSub,
|
||||
final String... channels) {
|
||||
client.setTimeoutInfinite();
|
||||
jedisPubSub.proceed(client, channels);
|
||||
client.rollbackTimeout();
|
||||
try {
|
||||
jedisPubSub.proceed(client, channels);
|
||||
} finally {
|
||||
client.rollbackTimeout();
|
||||
}
|
||||
}
|
||||
|
||||
public Long publish(final String channel, final String message) {
|
||||
@@ -2889,10 +2887,12 @@ public class Jedis extends BinaryJedis implements JedisCommands,
|
||||
public void psubscribe(final JedisPubSub jedisPubSub,
|
||||
final String... patterns) {
|
||||
checkIsInMulti();
|
||||
connect();
|
||||
client.setTimeoutInfinite();
|
||||
jedisPubSub.proceedWithPatterns(client, patterns);
|
||||
client.rollbackTimeout();
|
||||
try {
|
||||
jedisPubSub.proceedWithPatterns(client, patterns);
|
||||
} finally {
|
||||
client.rollbackTimeout();
|
||||
}
|
||||
}
|
||||
|
||||
protected static String[] getParams(List<String> keys, List<String> args) {
|
||||
@@ -2950,7 +2950,6 @@ public class Jedis extends BinaryJedis implements JedisCommands,
|
||||
public Object evalsha(String sha1, int keyCount, String... params) {
|
||||
checkIsInMulti();
|
||||
client.evalsha(sha1, keyCount, params);
|
||||
|
||||
return getEvalResult();
|
||||
}
|
||||
|
||||
@@ -3509,28 +3508,12 @@ public class Jedis extends BinaryJedis implements JedisCommands,
|
||||
|
||||
@Override
|
||||
public List<String> blpop(int timeout, String key) {
|
||||
checkIsInMulti();
|
||||
List<String> args = new ArrayList<String>();
|
||||
args.add(key);
|
||||
args.add(String.valueOf(timeout));
|
||||
client.blpop(args.toArray(new String[args.size()]));
|
||||
client.setTimeoutInfinite();
|
||||
final List<String> multiBulkReply = client.getMultiBulkReply();
|
||||
client.rollbackTimeout();
|
||||
return multiBulkReply;
|
||||
return blpop(key, String.valueOf(timeout));
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<String> brpop(int timeout, String key) {
|
||||
checkIsInMulti();
|
||||
List<String> args = new ArrayList<String>();
|
||||
args.add(key);
|
||||
args.add(String.valueOf(timeout));
|
||||
client.brpop(args.toArray(new String[args.size()]));
|
||||
client.setTimeoutInfinite();
|
||||
final List<String> multiBulkReply = client.getMultiBulkReply();
|
||||
client.rollbackTimeout();
|
||||
return multiBulkReply;
|
||||
return brpop(key, String.valueOf(timeout));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user