From 2d9629140995af1608de552c9d832bc210241a01 Mon Sep 17 00:00:00 2001 From: Costin Leau Date: Wed, 22 Jun 2011 20:58:18 +0300 Subject: [PATCH] fixed incorrect left/rightPop in RedisTemplate --- .../data/keyvalue/redis/core/DefaultListOperations.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/spring-data-redis/src/main/java/org/springframework/data/keyvalue/redis/core/DefaultListOperations.java b/spring-data-redis/src/main/java/org/springframework/data/keyvalue/redis/core/DefaultListOperations.java index b6c67936f..2349f58ec 100644 --- a/spring-data-redis/src/main/java/org/springframework/data/keyvalue/redis/core/DefaultListOperations.java +++ b/spring-data-redis/src/main/java/org/springframework/data/keyvalue/redis/core/DefaultListOperations.java @@ -20,6 +20,7 @@ import java.util.concurrent.TimeUnit; import org.springframework.data.keyvalue.redis.connection.RedisConnection; import org.springframework.data.keyvalue.redis.connection.RedisListCommands.Position; +import org.springframework.util.CollectionUtils; /** * Default implementation of {@link ListOperations}. @@ -59,7 +60,8 @@ class DefaultListOperations extends AbstractOperations implements Li return execute(new ValueDeserializingRedisCallback(key) { @Override protected byte[] inRedis(byte[] rawKey, RedisConnection connection) { - return connection.bLPop(tm, rawKey).get(0); + List lPop = connection.bLPop(tm, rawKey); + return (CollectionUtils.isEmpty(lPop) ? null : lPop.get(1)); } }, true); } @@ -153,7 +155,8 @@ class DefaultListOperations extends AbstractOperations implements Li return execute(new ValueDeserializingRedisCallback(key) { @Override protected byte[] inRedis(byte[] rawKey, RedisConnection connection) { - return connection.bRPop(tm, rawKey).get(0); + List bRPop = connection.bRPop(tm, rawKey); + return (CollectionUtils.isEmpty(bRPop) ? null : bRPop.get(1)); } }, true); }