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 3d857e3df..f966bbee8 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 @@ -116,7 +116,7 @@ public class DefaultStringRedisConnection implements StringRedisConnection { return delegate.echo(message); } - public List exec() { + public List exec() { return delegate.exec(); } diff --git a/spring-data-redis/src/main/java/org/springframework/data/keyvalue/redis/connection/RedisTxCommands.java b/spring-data-redis/src/main/java/org/springframework/data/keyvalue/redis/connection/RedisTxCommands.java index 73f82f600..79f14bec4 100644 --- a/spring-data-redis/src/main/java/org/springframework/data/keyvalue/redis/connection/RedisTxCommands.java +++ b/spring-data-redis/src/main/java/org/springframework/data/keyvalue/redis/connection/RedisTxCommands.java @@ -27,7 +27,7 @@ public interface RedisTxCommands { void multi(); - List exec(); + List exec(); void discard(); 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 d3f898769..6f4286615 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 @@ -511,14 +511,19 @@ public class JedisConnection implements RedisConnection { } } + @SuppressWarnings("unchecked") @Override - public List exec() { + public List exec() { try { if (isPipelined()) { pipeline.exec(); return null; } - return transaction.exec(); + List execute = transaction.exec(); + if (execute != null && !execute.isEmpty()) { + return (List) execute; + } + return Collections.emptyList(); } catch (Exception ex) { throw convertJedisAccessException(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 dca7e829d..92f5ebc34 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 @@ -267,7 +267,7 @@ public class JredisConnection implements RedisConnection { } @Override - public List exec() { + public List exec() { throw new UnsupportedOperationException(); }