diff --git a/pom.xml b/pom.xml
index 3f4db9edf..c202db66e 100644
--- a/pom.xml
+++ b/pom.xml
@@ -22,7 +22,7 @@
1.4.8
2.6.0
5.1.3.RELEASE
- 2.9.0
+ 3.0.0-m1
1.01
4.1.22.Final
spring.data.redis
diff --git a/src/main/java/org/springframework/data/redis/connection/jedis/JedisClientUtils.java b/src/main/java/org/springframework/data/redis/connection/jedis/JedisClientUtils.java
index 23f31709d..12d3d1ba5 100644
--- a/src/main/java/org/springframework/data/redis/connection/jedis/JedisClientUtils.java
+++ b/src/main/java/org/springframework/data/redis/connection/jedis/JedisClientUtils.java
@@ -24,8 +24,8 @@ import redis.clients.jedis.Protocol;
import redis.clients.jedis.Protocol.Command;
import redis.clients.jedis.Queable;
import redis.clients.jedis.Response;
-import redis.clients.util.RedisOutputStream;
-import redis.clients.util.SafeEncoder;
+import redis.clients.jedis.util.RedisOutputStream;
+import redis.clients.jedis.util.SafeEncoder;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
diff --git a/src/main/java/org/springframework/data/redis/connection/jedis/JedisClusterGeoCommands.java b/src/main/java/org/springframework/data/redis/connection/jedis/JedisClusterGeoCommands.java
index 1d0563d1f..4cfc0fc13 100644
--- a/src/main/java/org/springframework/data/redis/connection/jedis/JedisClusterGeoCommands.java
+++ b/src/main/java/org/springframework/data/redis/connection/jedis/JedisClusterGeoCommands.java
@@ -19,7 +19,7 @@ import lombok.NonNull;
import lombok.RequiredArgsConstructor;
import redis.clients.jedis.GeoCoordinate;
import redis.clients.jedis.GeoUnit;
-import redis.clients.jedis.params.geo.GeoRadiusParam;
+import redis.clients.jedis.params.GeoRadiusParam;
import java.util.HashMap;
import java.util.List;
@@ -258,7 +258,7 @@ class JedisClusterGeoCommands implements RedisGeoCommands {
Assert.notNull(args, "Args must not be null!");
GeoUnit geoUnit = JedisConverters.toGeoUnit(radius.getMetric());
- redis.clients.jedis.params.geo.GeoRadiusParam geoRadiusParam = JedisConverters.toGeoRadiusParam(args);
+ redis.clients.jedis.params.GeoRadiusParam geoRadiusParam = JedisConverters.toGeoRadiusParam(args);
try {
return JedisConverters.geoRadiusResponseToGeoResultsConverter(radius.getMetric())
diff --git a/src/main/java/org/springframework/data/redis/connection/jedis/JedisClusterHashCommands.java b/src/main/java/org/springframework/data/redis/connection/jedis/JedisClusterHashCommands.java
index 37614e2ab..6da09c0ba 100644
--- a/src/main/java/org/springframework/data/redis/connection/jedis/JedisClusterHashCommands.java
+++ b/src/main/java/org/springframework/data/redis/connection/jedis/JedisClusterHashCommands.java
@@ -282,7 +282,7 @@ class JedisClusterHashCommands implements RedisHashCommands {
redis.clients.jedis.ScanResult> result = connection.getCluster().hscan(key,
JedisConverters.toBytes(cursorId), params);
- return new ScanIteration<>(Long.valueOf(result.getStringCursor()), result.getResult());
+ return new ScanIteration<>(Long.valueOf(result.getCursor()), result.getResult());
}
}.open();
}
diff --git a/src/main/java/org/springframework/data/redis/connection/jedis/JedisClusterKeyCommands.java b/src/main/java/org/springframework/data/redis/connection/jedis/JedisClusterKeyCommands.java
index a0a26df5e..f272aeb9c 100644
--- a/src/main/java/org/springframework/data/redis/connection/jedis/JedisClusterKeyCommands.java
+++ b/src/main/java/org/springframework/data/redis/connection/jedis/JedisClusterKeyCommands.java
@@ -196,7 +196,7 @@ class JedisClusterKeyCommands implements RedisKeyCommands {
ScanParams params = JedisConverters.toScanParams(options);
redis.clients.jedis.ScanResult result = client.scan(Long.toString(cursorId), params);
- return new ScanIteration<>(Long.valueOf(result.getStringCursor()),
+ return new ScanIteration<>(Long.valueOf(result.getCursor()),
JedisConverters.stringListToByteList().convert(result.getResult()));
}
}.open();
diff --git a/src/main/java/org/springframework/data/redis/connection/jedis/JedisClusterServerCommands.java b/src/main/java/org/springframework/data/redis/connection/jedis/JedisClusterServerCommands.java
index 3f65bd306..898d972f1 100644
--- a/src/main/java/org/springframework/data/redis/connection/jedis/JedisClusterServerCommands.java
+++ b/src/main/java/org/springframework/data/redis/connection/jedis/JedisClusterServerCommands.java
@@ -18,6 +18,7 @@ package org.springframework.data.redis.connection.jedis;
import lombok.NonNull;
import lombok.RequiredArgsConstructor;
import redis.clients.jedis.BinaryJedis;
+import redis.clients.jedis.Jedis;
import java.util.ArrayList;
import java.util.Collection;
@@ -447,7 +448,7 @@ class JedisClusterServerCommands implements RedisClusterServerCommands {
public List getClientList() {
Collection map = connection.getClusterCommandExecutor()
- .executeCommandOnAllNodes((JedisClusterCommandCallback) BinaryJedis::clientList).resultsAsList();
+ .executeCommandOnAllNodes((JedisClusterCommandCallback) Jedis::clientList).resultsAsList();
ArrayList result = new ArrayList<>();
for (String infos : map) {
@@ -464,7 +465,7 @@ class JedisClusterServerCommands implements RedisClusterServerCommands {
public List getClientList(RedisClusterNode node) {
return JedisConverters
- .toListOfRedisClientInformation(executeCommandOnSingleNode(BinaryJedis::clientList, node).getValue());
+ .toListOfRedisClientInformation(executeCommandOnSingleNode(Jedis::clientList, node).getValue());
}
/*
@@ -510,7 +511,7 @@ class JedisClusterServerCommands implements RedisClusterServerCommands {
RedisClusterNode node = connection.getTopologyProvider().getTopology().lookup(target.getHost(), target.getPort());
- executeCommandOnSingleNode(client -> client.migrate(JedisConverters.toBytes(target.getHost()), target.getPort(),
+ executeCommandOnSingleNode(client -> client.migrate(target.getHost(), target.getPort(),
key, dbIndex, timeoutToUse), node);
}
diff --git a/src/main/java/org/springframework/data/redis/connection/jedis/JedisClusterSetCommands.java b/src/main/java/org/springframework/data/redis/connection/jedis/JedisClusterSetCommands.java
index c6b917bc3..dc5971c41 100644
--- a/src/main/java/org/springframework/data/redis/connection/jedis/JedisClusterSetCommands.java
+++ b/src/main/java/org/springframework/data/redis/connection/jedis/JedisClusterSetCommands.java
@@ -451,7 +451,7 @@ class JedisClusterSetCommands implements RedisSetCommands {
ScanParams params = JedisConverters.toScanParams(options);
redis.clients.jedis.ScanResult result = connection.getCluster().sscan(key,
JedisConverters.toBytes(cursorId), params);
- return new ScanIteration<>(Long.valueOf(result.getStringCursor()), result.getResult());
+ return new ScanIteration<>(Long.valueOf(result.getCursor()), result.getResult());
}
}.open();
}
diff --git a/src/main/java/org/springframework/data/redis/connection/jedis/JedisClusterStringCommands.java b/src/main/java/org/springframework/data/redis/connection/jedis/JedisClusterStringCommands.java
index e1aaa9a5d..ba19d3fe3 100644
--- a/src/main/java/org/springframework/data/redis/connection/jedis/JedisClusterStringCommands.java
+++ b/src/main/java/org/springframework/data/redis/connection/jedis/JedisClusterStringCommands.java
@@ -19,6 +19,7 @@ import lombok.NonNull;
import lombok.RequiredArgsConstructor;
import redis.clients.jedis.BinaryJedis;
import redis.clients.jedis.Connection;
+import redis.clients.jedis.params.SetParams;
import java.util.ArrayList;
import java.util.Arrays;
@@ -157,12 +158,12 @@ class JedisClusterStringCommands implements RedisStringCommands {
}
} else {
- byte[] nxxx = JedisConverters.toSetCommandNxXxArgument(option);
- byte[] expx = JedisConverters.toSetCommandExPxArgument(expiration);
+ SetParams params = JedisConverters.toSetCommandNxXxArgument(option, null);
+ JedisConverters.toSetCommandExPxArgument(expiration, params);
try {
return Converters
- .stringToBoolean(connection.getCluster().set(key, value, nxxx, expx, expiration.getExpirationTime()));
+ .stringToBoolean(connection.getCluster().set(key, value, params));
} catch (Exception ex) {
throw convertJedisAccessException(ex);
}
diff --git a/src/main/java/org/springframework/data/redis/connection/jedis/JedisClusterZSetCommands.java b/src/main/java/org/springframework/data/redis/connection/jedis/JedisClusterZSetCommands.java
index f985387e8..4645d7650 100644
--- a/src/main/java/org/springframework/data/redis/connection/jedis/JedisClusterZSetCommands.java
+++ b/src/main/java/org/springframework/data/redis/connection/jedis/JedisClusterZSetCommands.java
@@ -642,7 +642,7 @@ class JedisClusterZSetCommands implements RedisZSetCommands {
if (ClusterSlotHashUtil.isSameSlotForAllKeys(allKeys)) {
- ZParams zparams = new ZParams().weightsByDouble(weights.toArray())
+ ZParams zparams = new ZParams().weights(weights.toArray())
.aggregate(ZParams.Aggregate.valueOf(aggregate.name()));
try {
@@ -698,7 +698,7 @@ class JedisClusterZSetCommands implements RedisZSetCommands {
if (ClusterSlotHashUtil.isSameSlotForAllKeys(allKeys)) {
- ZParams zparams = new ZParams().weightsByDouble(weights.toArray())
+ ZParams zparams = new ZParams().weights(weights.toArray())
.aggregate(ZParams.Aggregate.valueOf(aggregate.name()));
try {
@@ -729,7 +729,7 @@ class JedisClusterZSetCommands implements RedisZSetCommands {
redis.clients.jedis.ScanResult result = connection.getCluster().zscan(key,
JedisConverters.toBytes(cursorId), params);
- return new ScanIteration<>(Long.valueOf(result.getStringCursor()),
+ return new ScanIteration<>(Long.valueOf(result.getCursor()),
JedisConverters.tuplesToTuples().convert(result.getResult()));
}
}.open();
diff --git a/src/main/java/org/springframework/data/redis/connection/jedis/JedisConnection.java b/src/main/java/org/springframework/data/redis/connection/jedis/JedisConnection.java
index 88c2a74de..68949a754 100644
--- a/src/main/java/org/springframework/data/redis/connection/jedis/JedisConnection.java
+++ b/src/main/java/org/springframework/data/redis/connection/jedis/JedisConnection.java
@@ -23,7 +23,7 @@ import redis.clients.jedis.Pipeline;
import redis.clients.jedis.Response;
import redis.clients.jedis.Transaction;
import redis.clients.jedis.exceptions.JedisDataException;
-import redis.clients.util.Pool;
+import redis.clients.jedis.util.Pool;
import java.util.ArrayList;
import java.util.Collections;
@@ -74,7 +74,6 @@ public class JedisConnection extends AbstractRedisConnection {
/**
* flag indicating whether the connection needs to be dropped or not
*/
- private boolean broken = false;
private volatile @Nullable JedisSubscription subscription;
private volatile @Nullable Pipeline pipeline;
private final int dbIndex;
@@ -133,17 +132,7 @@ public class JedisConnection extends AbstractRedisConnection {
}
protected DataAccessException convertJedisAccessException(Exception ex) {
-
- if (ex instanceof NullPointerException) {
- // An NPE before flush will leave data in the OutputStream of a pooled connection
- broken = true;
- }
-
DataAccessException exception = EXCEPTION_TRANSLATION.translate(ex);
- if (exception instanceof RedisConnectionFailureException) {
- broken = true;
- }
-
return exception != null ? exception : new RedisSystemException(ex.getMessage(), ex);
}
@@ -293,12 +282,7 @@ public class JedisConnection extends AbstractRedisConnection {
// return the connection to the pool
if (pool != null) {
-
- if (broken) {
- pool.returnBrokenResource(jedis);
- } else {
- jedis.close();
- }
+ jedis.close();
return;
}
// else close the connection normally (doing the try/catch dance)
diff --git a/src/main/java/org/springframework/data/redis/connection/jedis/JedisConnectionFactory.java b/src/main/java/org/springframework/data/redis/connection/jedis/JedisConnectionFactory.java
index 0e5d1d0fc..311a89b99 100644
--- a/src/main/java/org/springframework/data/redis/connection/jedis/JedisConnectionFactory.java
+++ b/src/main/java/org/springframework/data/redis/connection/jedis/JedisConnectionFactory.java
@@ -24,7 +24,7 @@ import redis.clients.jedis.JedisPoolConfig;
import redis.clients.jedis.JedisSentinelPool;
import redis.clients.jedis.JedisShardInfo;
import redis.clients.jedis.Protocol;
-import redis.clients.util.Pool;
+import redis.clients.jedis.util.Pool;
import java.time.Duration;
import java.util.Collection;
diff --git a/src/main/java/org/springframework/data/redis/connection/jedis/JedisConverters.java b/src/main/java/org/springframework/data/redis/connection/jedis/JedisConverters.java
index 3bda7f2e2..50cbd5970 100644
--- a/src/main/java/org/springframework/data/redis/connection/jedis/JedisConverters.java
+++ b/src/main/java/org/springframework/data/redis/connection/jedis/JedisConverters.java
@@ -15,15 +15,16 @@
*/
package org.springframework.data.redis.connection.jedis;
-import redis.clients.jedis.BinaryClient.LIST_POSITION;
import redis.clients.jedis.BitOP;
import redis.clients.jedis.GeoCoordinate;
import redis.clients.jedis.GeoRadiusResponse;
import redis.clients.jedis.GeoUnit;
+import redis.clients.jedis.ListPosition;
import redis.clients.jedis.ScanParams;
import redis.clients.jedis.SortingParams;
-import redis.clients.jedis.params.geo.GeoRadiusParam;
-import redis.clients.util.SafeEncoder;
+import redis.clients.jedis.params.GeoRadiusParam;
+import redis.clients.jedis.params.SetParams;
+import redis.clients.jedis.util.SafeEncoder;
import java.nio.ByteBuffer;
import java.util.ArrayList;
@@ -402,9 +403,9 @@ abstract public class JedisConverters extends Converters {
return EXCEPTION_CONVERTER.convert(ex);
}
- public static LIST_POSITION toListPosition(Position source) {
+ public static ListPosition toListPosition(Position source) {
Assert.notNull(source, "list positions are mandatory");
- return (Position.AFTER.equals(source) ? LIST_POSITION.AFTER : LIST_POSITION.BEFORE);
+ return (Position.AFTER.equals(source) ? ListPosition.AFTER : ListPosition.BEFORE);
}
public static byte[][] toByteArrays(Map source) {
@@ -509,9 +510,13 @@ abstract public class JedisConverters extends Converters {
* @return
* @since 1.7
*/
- public static byte[] toSetCommandExPxArgument(Expiration expiration) {
- return EXPIRATION_TO_COMMAND_OPTION_CONVERTER.convert(expiration);
- }
+ public static SetParams toSetCommandExPxArgument(Expiration expiration, SetParams params) {
+ params = params==null? SetParams.setParams() : params;
+ if(expiration.getTimeUnit() == TimeUnit.MILLISECONDS) {
+ return params.px(expiration.getExpirationTime());
+ }
+ return params.ex((int)expiration.getExpirationTime());
+ }
/**
* Converts a given {@link SetOption} to the according {@code SET} command argument.
@@ -528,8 +533,16 @@ abstract public class JedisConverters extends Converters {
* @return
* @since 1.7
*/
- public static byte[] toSetCommandNxXxArgument(SetOption option) {
- return SET_OPTION_TO_COMMAND_OPTION_CONVERTER.convert(option);
+ public static SetParams toSetCommandNxXxArgument(SetOption option, SetParams params) {
+ params = params==null? SetParams.setParams() : params;
+ switch(option) {
+ case SET_IF_PRESENT:
+ return params.xx();
+ case SET_IF_ABSENT:
+ return params.nx();
+ default:
+ return params;
+ }
}
private static byte[] boundaryToBytes(Boundary boundary, byte[] inclPrefix, byte[] exclPrefix) {
diff --git a/src/main/java/org/springframework/data/redis/connection/jedis/JedisExceptionConverter.java b/src/main/java/org/springframework/data/redis/connection/jedis/JedisExceptionConverter.java
index 5c53ba7f9..43b286814 100644
--- a/src/main/java/org/springframework/data/redis/connection/jedis/JedisExceptionConverter.java
+++ b/src/main/java/org/springframework/data/redis/connection/jedis/JedisExceptionConverter.java
@@ -25,7 +25,7 @@ import org.springframework.data.redis.ClusterRedirectException;
import org.springframework.data.redis.RedisConnectionFailureException;
import org.springframework.data.redis.TooManyClusterRedirectionsException;
-import redis.clients.jedis.exceptions.JedisClusterMaxRedirectionsException;
+import redis.clients.jedis.exceptions.JedisClusterMaxAttemptsException;
import redis.clients.jedis.exceptions.JedisConnectionException;
import redis.clients.jedis.exceptions.JedisDataException;
import redis.clients.jedis.exceptions.JedisException;
@@ -57,7 +57,7 @@ public class JedisExceptionConverter implements Converter, GeoResults>> converter = JedisConverters
.geoRadiusResponseToGeoResultsConverter(within.getRadius().getMetric());
@@ -381,7 +381,7 @@ class JedisGeoCommands implements RedisGeoCommands {
GeoUnit geoUnit = JedisConverters.toGeoUnit(radius.getMetric());
Converter, GeoResults>> converter = JedisConverters
.geoRadiusResponseToGeoResultsConverter(radius.getMetric());
- redis.clients.jedis.params.geo.GeoRadiusParam geoRadiusParam = JedisConverters.toGeoRadiusParam(args);
+ redis.clients.jedis.params.GeoRadiusParam geoRadiusParam = JedisConverters.toGeoRadiusParam(args);
try {
if (isPipelined()) {
diff --git a/src/main/java/org/springframework/data/redis/connection/jedis/JedisHashCommands.java b/src/main/java/org/springframework/data/redis/connection/jedis/JedisHashCommands.java
index 76e34926c..9ae8a5f3c 100644
--- a/src/main/java/org/springframework/data/redis/connection/jedis/JedisHashCommands.java
+++ b/src/main/java/org/springframework/data/redis/connection/jedis/JedisHashCommands.java
@@ -403,7 +403,7 @@ class JedisHashCommands implements RedisHashCommands {
ScanResult> result = connection.getJedis().hscan(key, JedisConverters.toBytes(cursorId),
params);
- return new ScanIteration<>(Long.valueOf(result.getStringCursor()), result.getResult());
+ return new ScanIteration<>(Long.valueOf(result.getCursor()), result.getResult());
}
@Override
diff --git a/src/main/java/org/springframework/data/redis/connection/jedis/JedisKeyCommands.java b/src/main/java/org/springframework/data/redis/connection/jedis/JedisKeyCommands.java
index 7aa699842..6bb588562 100644
--- a/src/main/java/org/springframework/data/redis/connection/jedis/JedisKeyCommands.java
+++ b/src/main/java/org/springframework/data/redis/connection/jedis/JedisKeyCommands.java
@@ -228,7 +228,7 @@ class JedisKeyCommands implements RedisKeyCommands {
ScanParams params = JedisConverters.toScanParams(options);
redis.clients.jedis.ScanResult result = connection.getJedis().scan(Long.toString(cursorId), params);
- return new ScanIteration<>(Long.valueOf(result.getStringCursor()),
+ return new ScanIteration<>(Long.valueOf(result.getCursor()),
JedisConverters.stringListToByteList().convert(result.getResult()));
}
diff --git a/src/main/java/org/springframework/data/redis/connection/jedis/JedisScriptReturnConverter.java b/src/main/java/org/springframework/data/redis/connection/jedis/JedisScriptReturnConverter.java
index a6a920270..c6d63c9cb 100644
--- a/src/main/java/org/springframework/data/redis/connection/jedis/JedisScriptReturnConverter.java
+++ b/src/main/java/org/springframework/data/redis/connection/jedis/JedisScriptReturnConverter.java
@@ -15,7 +15,7 @@
*/
package org.springframework.data.redis.connection.jedis;
-import redis.clients.util.SafeEncoder;
+import redis.clients.jedis.util.SafeEncoder;
import java.util.ArrayList;
import java.util.List;
diff --git a/src/main/java/org/springframework/data/redis/connection/jedis/JedisServerCommands.java b/src/main/java/org/springframework/data/redis/connection/jedis/JedisServerCommands.java
index c8e8d8d3b..066153272 100644
--- a/src/main/java/org/springframework/data/redis/connection/jedis/JedisServerCommands.java
+++ b/src/main/java/org/springframework/data/redis/connection/jedis/JedisServerCommands.java
@@ -495,15 +495,15 @@ class JedisServerCommands implements RedisServerCommands {
if (isPipelined()) {
pipeline(connection.newJedisResult(connection.getRequiredPipeline()
- .migrate(JedisConverters.toBytes(target.getHost()), target.getPort(), key, dbIndex, timeoutToUse)));
+ .migrate(target.getHost(), target.getPort(), key, dbIndex, timeoutToUse)));
return;
}
if (isQueueing()) {
transaction(connection.newJedisResult(connection.getRequiredTransaction()
- .migrate(JedisConverters.toBytes(target.getHost()), target.getPort(), key, dbIndex, timeoutToUse)));
+ .migrate(target.getHost(), target.getPort(), key, dbIndex, timeoutToUse)));
return;
}
- connection.getJedis().migrate(JedisConverters.toBytes(target.getHost()), target.getPort(), key, dbIndex,
+ connection.getJedis().migrate(target.getHost(), target.getPort(), key, dbIndex,
timeoutToUse);
} catch (Exception ex) {
throw convertJedisAccessException(ex);
diff --git a/src/main/java/org/springframework/data/redis/connection/jedis/JedisSetCommands.java b/src/main/java/org/springframework/data/redis/connection/jedis/JedisSetCommands.java
index 13939225e..86b2804eb 100644
--- a/src/main/java/org/springframework/data/redis/connection/jedis/JedisSetCommands.java
+++ b/src/main/java/org/springframework/data/redis/connection/jedis/JedisSetCommands.java
@@ -479,7 +479,7 @@ class JedisSetCommands implements RedisSetCommands {
redis.clients.jedis.ScanResult result = connection.getJedis().sscan(key,
JedisConverters.toBytes(cursorId), params);
- return new ScanIteration<>(Long.valueOf(result.getStringCursor()), result.getResult());
+ return new ScanIteration<>(Long.valueOf(result.getCursor()), result.getResult());
}
protected void doClose() {
diff --git a/src/main/java/org/springframework/data/redis/connection/jedis/JedisStringCommands.java b/src/main/java/org/springframework/data/redis/connection/jedis/JedisStringCommands.java
index 96fd2b63b..209c43448 100644
--- a/src/main/java/org/springframework/data/redis/connection/jedis/JedisStringCommands.java
+++ b/src/main/java/org/springframework/data/redis/connection/jedis/JedisStringCommands.java
@@ -19,6 +19,7 @@ import lombok.NonNull;
import lombok.RequiredArgsConstructor;
import redis.clients.jedis.BitPosParams;
import redis.clients.jedis.Client;
+import redis.clients.jedis.params.SetParams;
import java.util.List;
import java.util.Map;
@@ -165,8 +166,7 @@ class JedisStringCommands implements RedisStringCommands {
} else {
try {
-
- byte[] nxxx = JedisConverters.toSetCommandNxXxArgument(option);
+ SetParams nxxx = JedisConverters.toSetCommandNxXxArgument(option, null);
if (isPipelined()) {
@@ -198,8 +198,8 @@ class JedisStringCommands implements RedisStringCommands {
}
} else {
- byte[] nxxx = JedisConverters.toSetCommandNxXxArgument(option);
- byte[] expx = JedisConverters.toSetCommandExPxArgument(expiration);
+ SetParams params = JedisConverters.toSetCommandNxXxArgument(option, null);
+ JedisConverters.toSetCommandExPxArgument(expiration, params);
try {
if (isPipelined()) {
@@ -211,7 +211,7 @@ class JedisStringCommands implements RedisStringCommands {
}
pipeline(connection.newJedisResult(
- connection.getRequiredPipeline().set(key, value, nxxx, expx, (int) expiration.getExpirationTime()),
+ connection.getRequiredPipeline().set(key, value, params),
Converters.stringToBooleanConverter(), () -> false));
return null;
}
@@ -223,13 +223,12 @@ class JedisStringCommands implements RedisStringCommands {
}
transaction(connection.newJedisResult(
- connection.getRequiredTransaction().set(key, value, nxxx, expx, (int) expiration.getExpirationTime()),
+ connection.getRequiredTransaction().set(key, value, params),
Converters.stringToBooleanConverter(), () -> false));
return null;
}
- return Converters
- .stringToBoolean(connection.getJedis().set(key, value, nxxx, expx, expiration.getExpirationTime()));
+ return Converters.stringToBoolean(connection.getJedis().set(key, value, params));
} catch (Exception ex) {
throw convertJedisAccessException(ex);
diff --git a/src/main/java/org/springframework/data/redis/connection/jedis/JedisUtils.java b/src/main/java/org/springframework/data/redis/connection/jedis/JedisUtils.java
index 62ba59ed2..a1c857a1f 100644
--- a/src/main/java/org/springframework/data/redis/connection/jedis/JedisUtils.java
+++ b/src/main/java/org/springframework/data/redis/connection/jedis/JedisUtils.java
@@ -16,14 +16,14 @@
package org.springframework.data.redis.connection.jedis;
-import redis.clients.jedis.BinaryClient.LIST_POSITION;
import redis.clients.jedis.BinaryJedisPubSub;
+import redis.clients.jedis.ListPosition;
import redis.clients.jedis.Protocol;
import redis.clients.jedis.SortingParams;
import redis.clients.jedis.exceptions.JedisConnectionException;
import redis.clients.jedis.exceptions.JedisDataException;
import redis.clients.jedis.exceptions.JedisException;
-import redis.clients.util.SafeEncoder;
+import redis.clients.jedis.util.SafeEncoder;
import java.io.IOException;
import java.io.StringReader;
@@ -215,9 +215,9 @@ public abstract class JedisUtils {
return (value ? ONE : ZERO);
}
- static LIST_POSITION convertPosition(Position where) {
+ static ListPosition convertPosition(Position where) {
Assert.notNull(where, "list positions are mandatory");
- return (Position.AFTER.equals(where) ? LIST_POSITION.AFTER : LIST_POSITION.BEFORE);
+ return (Position.AFTER.equals(where) ? ListPosition.AFTER : ListPosition.BEFORE);
}
/**
diff --git a/src/main/java/org/springframework/data/redis/connection/jedis/JedisZSetCommands.java b/src/main/java/org/springframework/data/redis/connection/jedis/JedisZSetCommands.java
index 54aadcf4e..ca37038d3 100644
--- a/src/main/java/org/springframework/data/redis/connection/jedis/JedisZSetCommands.java
+++ b/src/main/java/org/springframework/data/redis/connection/jedis/JedisZSetCommands.java
@@ -594,7 +594,7 @@ class JedisZSetCommands implements RedisZSetCommands {
.format("The number of weights (%d) must match the number of source sets (%d)!", weights.size(), sets.length));
try {
- ZParams zparams = new ZParams().weightsByDouble(weights.toArray())
+ ZParams zparams = new ZParams().weights(weights.toArray())
.aggregate(ZParams.Aggregate.valueOf(aggregate.name()));
if (isPipelined()) {
@@ -651,7 +651,7 @@ class JedisZSetCommands implements RedisZSetCommands {
.format("The number of weights (%d) must match the number of source sets (%d)!", weights.size(), sets.length));
try {
- ZParams zparams = new ZParams().weightsByDouble(weights.toArray())
+ ZParams zparams = new ZParams().weights(weights.toArray())
.aggregate(ZParams.Aggregate.valueOf(aggregate.name()));
if (isPipelined()) {
@@ -727,7 +727,7 @@ class JedisZSetCommands implements RedisZSetCommands {
ScanResult result = connection.getJedis().zscan(key,
JedisConverters.toBytes(cursorId), params);
- return new ScanIteration<>(Long.valueOf(result.getStringCursor()),
+ return new ScanIteration<>(Long.valueOf(result.getCursor()),
JedisConverters.tuplesToTuples().convert(result.getResult()));
}
diff --git a/src/test/java/org/springframework/data/redis/connection/jedis/JedisConnectionUnitTestSuite.java b/src/test/java/org/springframework/data/redis/connection/jedis/JedisConnectionUnitTestSuite.java
index 76a59a712..ae8d0086d 100644
--- a/src/test/java/org/springframework/data/redis/connection/jedis/JedisConnectionUnitTestSuite.java
+++ b/src/test/java/org/springframework/data/redis/connection/jedis/JedisConnectionUnitTestSuite.java
@@ -270,7 +270,7 @@ public class JedisConnectionUnitTestSuite {
public void doesNotSelectDbWhenCurrentDbDoesNotMatchDesiredOne() {
Jedis jedisSpy = spy(new MockedClientJedis("http://localhost:1234", getNativeRedisConnectionMock()));
- when(jedisSpy.getDB()).thenReturn(3L);
+ when(jedisSpy.getDB()).thenReturn(3);
new JedisConnection(jedisSpy);
diff --git a/src/test/java/org/springframework/data/redis/connection/jedis/JedisConvertersUnitTests.java b/src/test/java/org/springframework/data/redis/connection/jedis/JedisConvertersUnitTests.java
index 7d7b4a850..7b70c9371 100644
--- a/src/test/java/org/springframework/data/redis/connection/jedis/JedisConvertersUnitTests.java
+++ b/src/test/java/org/springframework/data/redis/connection/jedis/JedisConvertersUnitTests.java
@@ -20,6 +20,8 @@ import static org.hamcrest.core.IsEqual.*;
import static org.hamcrest.core.IsNull.*;
import static org.junit.Assert.*;
+import redis.clients.jedis.params.SetParams;
+
import java.util.Arrays;
import java.util.Collections;
import java.util.Date;
@@ -48,7 +50,8 @@ public class JedisConvertersUnitTests {
@Test // DATAREDIS-268
public void convertingNullToListOfRedisClientInfoShouldReturnEmptyList() {
- assertThat(JedisConverters.toListOfRedisClientInformation(null), equalTo(Collections. emptyList()));
+ assertThat(JedisConverters.toListOfRedisClientInformation(null),
+ equalTo(Collections. emptyList()));
}
@Test // DATAREDIS-268
@@ -168,8 +171,7 @@ public class JedisConvertersUnitTests {
@Test // DATAREDIS-352
public void boundaryToBytesForZRangeByShouldReturnValueCorrectlyWhenBoundaryIsIncluing() {
- assertThat(
- JedisConverters.boundaryToBytesForZRange(Range.range().gte(JedisConverters.toBytes("a")).getMin(), null),
+ assertThat(JedisConverters.boundaryToBytesForZRange(Range.range().gte(JedisConverters.toBytes("a")).getMin(), null),
is(JedisConverters.toBytes("a")));
}
@@ -201,34 +203,35 @@ public class JedisConvertersUnitTests {
@Test // DATAREDIS-316
public void toSetCommandExPxOptionShouldReturnEXforSeconds() {
- assertThat(JedisConverters.toSetCommandExPxArgument(Expiration.seconds(100)), equalTo(JedisConverters.toBytes("EX")));
+ assertThat(JedisConverters.toSetCommandExPxArgument(Expiration.seconds(100)),
+ equalTo(JedisConverters.toBytes("EX")));
}
@Test // DATAREDIS-316
public void toSetCommandExPxOptionShouldReturnEXforMilliseconds() {
assertThat(JedisConverters.toSetCommandExPxArgument(Expiration.milliseconds(100)),
- equalTo(JedisConverters.toBytes("PX")));
+ equalTo(SetParams.setParams().px(100)));
}
@Test // DATAREDIS-316
public void toSetCommandExPxOptionShouldReturnEmptyArrayForNull() {
- assertThat(JedisConverters.toSetCommandExPxArgument(null), equalTo(new byte[] {}));
+ assertThat(JedisConverters.toSetCommandExPxArgument(null), equalTo(SetParams.setParams()));
}
@Test // DATAREDIS-316
public void toSetCommandNxXxOptionShouldReturnNXforAbsent() {
- assertThat(JedisConverters.toSetCommandNxXxArgument(SetOption.ifAbsent()), equalTo(JedisConverters.toBytes("NX")));
+ assertThat(JedisConverters.toSetCommandNxXxArgument(SetOption.ifAbsent()), equalTo(SetParams.setParams().nx()));
}
@Test // DATAREDIS-316
public void toSetCommandNxXxOptionShouldReturnXXforAbsent() {
- assertThat(JedisConverters.toSetCommandNxXxArgument(SetOption.ifPresent()), equalTo(JedisConverters.toBytes("XX")));
+ assertThat(JedisConverters.toSetCommandNxXxArgument(SetOption.ifPresent()), equalTo(SetParams.setParams().xx()));
}
@Test // DATAREDIS-316
public void toSetCommandNxXxOptionShouldReturnEmptyArrayforUpsert() {
- assertThat(JedisConverters.toSetCommandNxXxArgument(SetOption.upsert()), equalTo(new byte[] {}));
+ assertThat(JedisConverters.toSetCommandNxXxArgument(SetOption.upsert()), equalTo(SetParams.setParams()));
}
private void verifyRedisServerInfo(RedisServer server, Map values) {
diff --git a/src/test/java/org/springframework/data/redis/connection/jedis/JedisExceptionConverterUnitTests.java b/src/test/java/org/springframework/data/redis/connection/jedis/JedisExceptionConverterUnitTests.java
index be15f81f9..684c73d1d 100644
--- a/src/test/java/org/springframework/data/redis/connection/jedis/JedisExceptionConverterUnitTests.java
+++ b/src/test/java/org/springframework/data/redis/connection/jedis/JedisExceptionConverterUnitTests.java
@@ -27,7 +27,7 @@ import org.springframework.data.redis.TooManyClusterRedirectionsException;
import redis.clients.jedis.HostAndPort;
import redis.clients.jedis.exceptions.JedisAskDataException;
-import redis.clients.jedis.exceptions.JedisClusterMaxRedirectionsException;
+import redis.clients.jedis.exceptions.JedisClusterMaxAttemptsException;
import redis.clients.jedis.exceptions.JedisMovedDataException;
/**
@@ -70,7 +70,7 @@ public class JedisExceptionConverterUnitTests {
public void shouldConvertMaxRedirectException() {
DataAccessException converted = converter
- .convert(new JedisClusterMaxRedirectionsException("Too many redirections?"));
+ .convert(new JedisClusterMaxAttemptsException("Too many redirections?"));
assertThat(converted, instanceOf(TooManyClusterRedirectionsException.class));
}