diff --git a/spring-data-redis/src/main/java/org/springframework/data/keyvalue/redis/connection/DefaultStringRedisConnection.java b/spring-data-redis/src/main/java/org/springframework/data/keyvalue/redis/connection/DefaultStringRedisConnection.java index 57e9fb804..c30385625 100644 --- a/spring-data-redis/src/main/java/org/springframework/data/keyvalue/redis/connection/DefaultStringRedisConnection.java +++ b/spring-data-redis/src/main/java/org/springframework/data/keyvalue/redis/connection/DefaultStringRedisConnection.java @@ -1119,7 +1119,7 @@ public class DefaultStringRedisConnection implements StringRedisConnection { } @Override - public List closePipeline() { + public List closePipeline() { return delegate.closePipeline(); } diff --git a/spring-data-redis/src/main/java/org/springframework/data/keyvalue/redis/connection/RedisConnection.java b/spring-data-redis/src/main/java/org/springframework/data/keyvalue/redis/connection/RedisConnection.java index 6f9f0a2fd..d61fe1287 100644 --- a/spring-data-redis/src/main/java/org/springframework/data/keyvalue/redis/connection/RedisConnection.java +++ b/spring-data-redis/src/main/java/org/springframework/data/keyvalue/redis/connection/RedisConnection.java @@ -95,5 +95,5 @@ public interface RedisConnection extends RedisCommands { * * @return the result of the executed commands. */ - List closePipeline(); + List closePipeline(); } \ No newline at end of file diff --git a/spring-data-redis/src/main/java/org/springframework/data/keyvalue/redis/connection/jedis/JedisConnection.java b/spring-data-redis/src/main/java/org/springframework/data/keyvalue/redis/connection/jedis/JedisConnection.java index a24e1cc8e..f1e6eebf6 100644 --- a/spring-data-redis/src/main/java/org/springframework/data/keyvalue/redis/connection/jedis/JedisConnection.java +++ b/spring-data-redis/src/main/java/org/springframework/data/keyvalue/redis/connection/jedis/JedisConnection.java @@ -186,10 +186,14 @@ public class JedisConnection implements RedisConnection { } } + @SuppressWarnings("unchecked") @Override - public List closePipeline() { + public List closePipeline() { if (pipeline != null) { - return pipeline.execute(); + List execute = pipeline.execute(); + if (execute != null && !execute.isEmpty()) { + return (List) execute; + } } return Collections.emptyList(); } @@ -217,7 +221,7 @@ public class JedisConnection implements RedisConnection { else { pipeline.sort(key); } - + return null; } return (sortParams != null ? jedis.sort(key, sortParams) : jedis.sort(key)); @@ -741,7 +745,8 @@ public class JedisConnection implements RedisConnection { for (byte[] key : keys) { if (isPipelined()) { pipeline.watch(key); - } else { + } + else { jedis.watch(key); } } @@ -1096,11 +1101,11 @@ public class JedisConnection implements RedisConnection { if (isPipelined()) { final List args = new ArrayList(); for (final byte[] arg : keys) { - args.add(arg); - } - args.add(Protocol.toByteArray(timeout)); - pipeline.blpop(args.toArray(new byte[args.size()][])); - return null; + args.add(arg); + } + args.add(Protocol.toByteArray(timeout)); + pipeline.blpop(args.toArray(new byte[args.size()][])); + return null; } return jedis.blpop(timeout, keys); } catch (Exception ex) { @@ -1117,11 +1122,11 @@ public class JedisConnection implements RedisConnection { if (isPipelined()) { final List args = new ArrayList(); for (final byte[] arg : keys) { - args.add(arg); - } - args.add(Protocol.toByteArray(timeout)); - pipeline.brpop(args.toArray(new byte[args.size()][])); - return null; + args.add(arg); + } + args.add(Protocol.toByteArray(timeout)); + pipeline.brpop(args.toArray(new byte[args.size()][])); + return null; } return jedis.brpop(timeout, keys); } catch (Exception ex) { diff --git a/spring-data-redis/src/main/java/org/springframework/data/keyvalue/redis/connection/jredis/JredisConnection.java b/spring-data-redis/src/main/java/org/springframework/data/keyvalue/redis/connection/jredis/JredisConnection.java index e8360b1b4..bbdb1e18c 100644 --- a/spring-data-redis/src/main/java/org/springframework/data/keyvalue/redis/connection/jredis/JredisConnection.java +++ b/spring-data-redis/src/main/java/org/springframework/data/keyvalue/redis/connection/jredis/JredisConnection.java @@ -112,7 +112,7 @@ public class JredisConnection implements RedisConnection { } @Override - public List closePipeline() { + public List closePipeline() { return Collections.emptyList(); }