diff --git a/spring-data-redis/pom.xml b/spring-data-redis/pom.xml
index 997cfc986..04b5b11a8 100644
--- a/spring-data-redis/pom.xml
+++ b/spring-data-redis/pom.xml
@@ -14,7 +14,7 @@
03122010
- 1.5.1
+ 1.5.2-SNAPSHOT
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 9b0057682..e5620208b 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
@@ -181,7 +181,14 @@ public class JedisConnection implements RedisConnection {
try {
if (isQueueing()) {
- throw new UnsupportedOperationException("Jedis does not support sort&store in MULTI/EXEC mode.");
+ if (sortParams != null) {
+ transaction.sort(key, sortParams, sortKey);
+ }
+ else {
+ transaction.sort(key, sortKey);
+ }
+
+ return null;
}
return (sortParams != null ? jedis.sort(key, sortParams, sortKey) : jedis.sort(key, sortKey));
} catch (Exception ex) {
@@ -767,7 +774,7 @@ public class JedisConnection implements RedisConnection {
// return null;
throw new UnsupportedOperationException();
}
- return (jedis.getbit(key, (int) offset) == 0 ? Boolean.FALSE : Boolean.TRUE);
+ return (jedis.getbit(key, offset) == 0 ? Boolean.FALSE : Boolean.TRUE);
} catch (Exception ex) {
throw convertJedisAccessException(ex);
}
@@ -781,7 +788,7 @@ public class JedisConnection implements RedisConnection {
// return;
throw new UnsupportedOperationException();
}
- jedis.setbit(key, (int) offset, JedisUtils.asBit(value));
+ jedis.setbit(key, offset, JedisUtils.asBit(value));
} catch (Exception ex) {
throw convertJedisAccessException(ex);
}
@@ -995,7 +1002,7 @@ public class JedisConnection implements RedisConnection {
if (isQueueing()) {
throw new UnsupportedOperationException();
}
- return jedis.brpoplpush(srcKey, dstKey, timeout).getBytes();
+ return jedis.brpoplpush(srcKey, dstKey, timeout);
} catch (Exception ex) {
throw convertJedisAccessException(ex);
}
@@ -1667,8 +1674,8 @@ public class JedisConnection implements RedisConnection {
}
// FIXME: DATAKV-24 once Jedis adds support for binary messages
- String msg = new String(message);
String chn = new String(channel);
+ String msg = new String(message);
return jedis.publish(chn, msg);
} catch (Exception ex) {
diff --git a/spring-data-redis/src/main/java/org/springframework/data/keyvalue/redis/connection/jedis/JedisConnectionFactory.java b/spring-data-redis/src/main/java/org/springframework/data/keyvalue/redis/connection/jedis/JedisConnectionFactory.java
index 7579013a0..09f51d755 100644
--- a/spring-data-redis/src/main/java/org/springframework/data/keyvalue/redis/connection/jedis/JedisConnectionFactory.java
+++ b/spring-data-redis/src/main/java/org/springframework/data/keyvalue/redis/connection/jedis/JedisConnectionFactory.java
@@ -18,7 +18,6 @@ package org.springframework.data.keyvalue.redis.connection.jedis;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import org.apache.commons.pool.impl.GenericObjectPool;
import org.springframework.beans.factory.DisposableBean;
import org.springframework.beans.factory.InitializingBean;
import org.springframework.dao.DataAccessException;
@@ -29,6 +28,7 @@ import org.springframework.util.StringUtils;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
+import redis.clients.jedis.JedisPoolConfig;
import redis.clients.jedis.JedisShardInfo;
import redis.clients.jedis.Protocol;
@@ -48,11 +48,12 @@ public class JedisConnectionFactory implements InitializingBean, DisposableBean,
private String password;
private boolean usePool = true;
-
private JedisPool pool = null;
+ private JedisPoolConfig poolConfig = new JedisPoolConfig();
/**
- * Constructs a new JedisConnectionFactory instance.
+ * Constructs a new JedisConnectionFactory instance
+ * with default settings (default connection pooling, no shard information).
*/
public JedisConnectionFactory() {
}
@@ -61,12 +62,23 @@ public class JedisConnectionFactory implements InitializingBean, DisposableBean,
* Constructs a new JedisConnectionFactory instance.
* Will override the other connection parameters passed to the factory.
*
- * @param shardInfo
+ * @param shardInfo shard information
*/
public JedisConnectionFactory(JedisShardInfo shardInfo) {
this.shardInfo = shardInfo;
}
+ /**
+ * Constructs a new JedisConnectionFactory instance using
+ * the given pool configuration.
+ *
+ * @param poolConfig pool configuration
+ */
+ public JedisConnectionFactory(JedisPoolConfig poolConfig) {
+ this.poolConfig = poolConfig;
+ }
+
+
/**
* Returns a Jedis instance to be used as a Redis connection.
* The instance can be newly created or retrieved from a pool.
@@ -101,7 +113,7 @@ public class JedisConnectionFactory implements InitializingBean, DisposableBean,
}
if (usePool) {
- pool = new JedisPool(new GenericObjectPool.Config(), shardInfo.getHost(), shardInfo.getPort(),
+ pool = new JedisPool(poolConfig, shardInfo.getHost(), shardInfo.getPort(),
shardInfo.getTimeout(), shardInfo.getPassword());
}
}
@@ -233,4 +245,22 @@ public class JedisConnectionFactory implements InitializingBean, DisposableBean,
public void setUsePool(boolean usePool) {
this.usePool = usePool;
}
+
+ /**
+ * Returns the poolConfig.
+ *
+ * @return Returns the poolConfig
+ */
+ public JedisPoolConfig getPoolConfig() {
+ return poolConfig;
+ }
+
+ /**
+ * Sets the pool configuration for this factory.
+ *
+ * @param poolConfig The poolConfig to set.
+ */
+ public void setPoolConfig(JedisPoolConfig poolConfig) {
+ this.poolConfig = poolConfig;
+ }
}
\ No newline at end of file
diff --git a/spring-data-redis/src/main/java/org/springframework/data/keyvalue/redis/core/DefaultBoundHashOperations.java b/spring-data-redis/src/main/java/org/springframework/data/keyvalue/redis/core/DefaultBoundHashOperations.java
index d7eb1e9ef..f55ed85be 100644
--- a/spring-data-redis/src/main/java/org/springframework/data/keyvalue/redis/core/DefaultBoundHashOperations.java
+++ b/spring-data-redis/src/main/java/org/springframework/data/keyvalue/redis/core/DefaultBoundHashOperations.java
@@ -36,7 +36,7 @@ class DefaultBoundHashOperations extends DefaultKeyBound implement
*/
public DefaultBoundHashOperations(H key, RedisOperations operations) {
super(key);
- this.ops = operations.getHashOps();
+ this.ops = operations.opsForHash();
}
@Override
diff --git a/spring-data-redis/src/main/java/org/springframework/data/keyvalue/redis/core/DefaultBoundListOperations.java b/spring-data-redis/src/main/java/org/springframework/data/keyvalue/redis/core/DefaultBoundListOperations.java
index ca13ab5e0..df302ad11 100644
--- a/spring-data-redis/src/main/java/org/springframework/data/keyvalue/redis/core/DefaultBoundListOperations.java
+++ b/spring-data-redis/src/main/java/org/springframework/data/keyvalue/redis/core/DefaultBoundListOperations.java
@@ -36,7 +36,7 @@ class DefaultBoundListOperations extends DefaultKeyBound implements Bou
*/
public DefaultBoundListOperations(K key, RedisOperations operations) {
super(key);
- this.ops = operations.getListOps();
+ this.ops = operations.opsForList();
}
diff --git a/spring-data-redis/src/main/java/org/springframework/data/keyvalue/redis/core/DefaultBoundSetOperations.java b/spring-data-redis/src/main/java/org/springframework/data/keyvalue/redis/core/DefaultBoundSetOperations.java
index 66affbbd7..ffae21d6f 100644
--- a/spring-data-redis/src/main/java/org/springframework/data/keyvalue/redis/core/DefaultBoundSetOperations.java
+++ b/spring-data-redis/src/main/java/org/springframework/data/keyvalue/redis/core/DefaultBoundSetOperations.java
@@ -37,7 +37,7 @@ class DefaultBoundSetOperations extends DefaultKeyBound implements Boun
*/
DefaultBoundSetOperations(K key, RedisOperations operations) {
super(key);
- this.ops = operations.getSetOps();
+ this.ops = operations.opsForSet();
}
@Override
diff --git a/spring-data-redis/src/main/java/org/springframework/data/keyvalue/redis/core/DefaultBoundValueOperations.java b/spring-data-redis/src/main/java/org/springframework/data/keyvalue/redis/core/DefaultBoundValueOperations.java
index 867b0fec4..7d0b2322f 100644
--- a/spring-data-redis/src/main/java/org/springframework/data/keyvalue/redis/core/DefaultBoundValueOperations.java
+++ b/spring-data-redis/src/main/java/org/springframework/data/keyvalue/redis/core/DefaultBoundValueOperations.java
@@ -32,7 +32,7 @@ class DefaultBoundValueOperations extends DefaultKeyBound implements Bo
*/
public DefaultBoundValueOperations(K key, RedisOperations operations) {
super(key);
- this.ops = operations.getValueOps();
+ this.ops = operations.opsForValue();
}
@Override
diff --git a/spring-data-redis/src/main/java/org/springframework/data/keyvalue/redis/core/DefaultBoundZSetOperations.java b/spring-data-redis/src/main/java/org/springframework/data/keyvalue/redis/core/DefaultBoundZSetOperations.java
index 9a00d1a75..00443f515 100644
--- a/spring-data-redis/src/main/java/org/springframework/data/keyvalue/redis/core/DefaultBoundZSetOperations.java
+++ b/spring-data-redis/src/main/java/org/springframework/data/keyvalue/redis/core/DefaultBoundZSetOperations.java
@@ -36,7 +36,7 @@ class DefaultBoundZSetOperations extends DefaultKeyBound implements Bou
*/
public DefaultBoundZSetOperations(K key, RedisOperations oeprations) {
super(key);
- this.ops = oeprations.getZSetOps();
+ this.ops = oeprations.opsForZSet();
}
@Override
diff --git a/spring-data-redis/src/main/java/org/springframework/data/keyvalue/redis/core/RedisOperations.java b/spring-data-redis/src/main/java/org/springframework/data/keyvalue/redis/core/RedisOperations.java
index 06ff3d420..7d1c5b47f 100644
--- a/spring-data-redis/src/main/java/org/springframework/data/keyvalue/redis/core/RedisOperations.java
+++ b/spring-data-redis/src/main/java/org/springframework/data/keyvalue/redis/core/RedisOperations.java
@@ -96,7 +96,7 @@ public interface RedisOperations {
*
* @return value operations
*/
- ValueOperations getValueOps();
+ ValueOperations opsForValue();
/**
* Returns the operations performed on simple values (or Strings in Redis terminology)
@@ -112,7 +112,7 @@ public interface RedisOperations {
*
* @return list operations
*/
- ListOperations getListOps();
+ ListOperations opsForList();
/**
* Returns the operations performed on list values bound to the given key.
@@ -127,7 +127,7 @@ public interface RedisOperations {
*
* @return set operations
*/
- SetOperations getSetOps();
+ SetOperations opsForSet();
/**
* Returns the operations performed on set values bound to the given key.
@@ -142,7 +142,7 @@ public interface RedisOperations {
*
* @return zset operations
*/
- ZSetOperations getZSetOps();
+ ZSetOperations opsForZSet();
/**
* Returns the operations performed on zset values (also known as sorted sets)
@@ -160,7 +160,7 @@ public interface RedisOperations {
* @param hash value type
* @return hash operations
*/
- HashOperations getHashOps();
+ HashOperations opsForHash();
/**
* Returns the operations performed on hash values bound to the given key.
diff --git a/spring-data-redis/src/main/java/org/springframework/data/keyvalue/redis/core/RedisTemplate.java b/spring-data-redis/src/main/java/org/springframework/data/keyvalue/redis/core/RedisTemplate.java
index 8b083554b..1aa1a41c3 100644
--- a/spring-data-redis/src/main/java/org/springframework/data/keyvalue/redis/core/RedisTemplate.java
+++ b/spring-data-redis/src/main/java/org/springframework/data/keyvalue/redis/core/RedisTemplate.java
@@ -697,7 +697,7 @@ public class RedisTemplate extends RedisAccessor implements RedisOperation
}
@Override
- public ValueOperations getValueOps() {
+ public ValueOperations opsForValue() {
return valueOps;
}
@@ -914,7 +914,7 @@ public class RedisTemplate extends RedisAccessor implements RedisOperation
}
@Override
- public ListOperations getListOps() {
+ public ListOperations opsForList() {
return listOps;
}
@@ -1158,7 +1158,7 @@ public class RedisTemplate extends RedisAccessor implements RedisOperation
}
@Override
- public SetOperations getSetOps() {
+ public SetOperations opsForSet() {
return setOps;
}
@@ -1353,7 +1353,7 @@ public class RedisTemplate extends RedisAccessor implements RedisOperation
}
@Override
- public ZSetOperations getZSetOps() {
+ public ZSetOperations opsForZSet() {
return zSetOps;
}
@@ -1572,7 +1572,7 @@ public class RedisTemplate extends RedisAccessor implements RedisOperation
}
@Override
- public HashOperations getHashOps() {
+ public HashOperations opsForHash() {
return new DefaultHashOperations();
}
diff --git a/spring-data-redis/src/main/java/org/springframework/data/keyvalue/redis/support/atomic/RedisAtomicInteger.java b/spring-data-redis/src/main/java/org/springframework/data/keyvalue/redis/support/atomic/RedisAtomicInteger.java
index dbeb8ece1..77274a16a 100644
--- a/spring-data-redis/src/main/java/org/springframework/data/keyvalue/redis/support/atomic/RedisAtomicInteger.java
+++ b/spring-data-redis/src/main/java/org/springframework/data/keyvalue/redis/support/atomic/RedisAtomicInteger.java
@@ -47,7 +47,7 @@ public class RedisAtomicInteger extends Number implements Serializable, KeyBound
*/
public RedisAtomicInteger(String redisCounter, RedisOperations operations) {
this.key = redisCounter;
- this.operations = operations.getValueOps();
+ this.operations = operations.opsForValue();
this.generalOps = operations;
if (this.operations.get(redisCounter) == null) {
set(0);
@@ -63,7 +63,7 @@ public class RedisAtomicInteger extends Number implements Serializable, KeyBound
*/
public RedisAtomicInteger(String redisCounter, RedisOperations operations, int initialValue) {
this.key = redisCounter;
- this.operations = operations.getValueOps();
+ this.operations = operations.opsForValue();
this.generalOps = operations;
this.operations.set(redisCounter, initialValue);
}
diff --git a/spring-data-redis/src/main/java/org/springframework/data/keyvalue/redis/support/atomic/RedisAtomicLong.java b/spring-data-redis/src/main/java/org/springframework/data/keyvalue/redis/support/atomic/RedisAtomicLong.java
index 94c7daa84..c3d5083b4 100644
--- a/spring-data-redis/src/main/java/org/springframework/data/keyvalue/redis/support/atomic/RedisAtomicLong.java
+++ b/spring-data-redis/src/main/java/org/springframework/data/keyvalue/redis/support/atomic/RedisAtomicLong.java
@@ -47,7 +47,7 @@ public class RedisAtomicLong extends Number implements Serializable, KeyBound operations) {
this.key = redisCounter;
- this.operations = operations.getValueOps();
+ this.operations = operations.opsForValue();
this.generalOps = operations;
if (this.operations.get(redisCounter) == null) {
set(0);
@@ -63,7 +63,7 @@ public class RedisAtomicLong extends Number implements Serializable, KeyBound operations, long initialValue) {
this.key = redisCounter;
- this.operations = operations.getValueOps();
+ this.operations = operations.opsForValue();
this.operations.set(redisCounter, initialValue);
}