From 2f6dc3e79eb1de798cb0aae2933d2faa1e670bba Mon Sep 17 00:00:00 2001 From: Mark Paluch Date: Wed, 14 Jul 2021 10:45:59 +0200 Subject: [PATCH] Polishing. Switch Jedis XADD call to XAddParams. See #2047 Original pull request: #2118. --- .../connection/jedis/JedisStreamCommands.java | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/src/main/java/org/springframework/data/redis/connection/jedis/JedisStreamCommands.java b/src/main/java/org/springframework/data/redis/connection/jedis/JedisStreamCommands.java index 1e25c6b89..ef9293a74 100644 --- a/src/main/java/org/springframework/data/redis/connection/jedis/JedisStreamCommands.java +++ b/src/main/java/org/springframework/data/redis/connection/jedis/JedisStreamCommands.java @@ -20,6 +20,7 @@ import redis.clients.jedis.BuilderFactory; import redis.clients.jedis.MultiKeyPipelineBase; import redis.clients.jedis.StreamConsumersInfo; import redis.clients.jedis.StreamGroupInfo; +import redis.clients.jedis.params.XAddParams; import java.util.ArrayList; import java.util.Arrays; @@ -78,14 +79,18 @@ class JedisStreamCommands implements RedisStreamCommands { Assert.notNull(record, "Record must not be null!"); Assert.notNull(record.getStream(), "Stream must not be null!"); - byte[] id = JedisConverters.toBytes(record.getId().getValue()); - long maxLength = Long.MAX_VALUE; + XAddParams xAddParams = new XAddParams(); + xAddParams.id(record.getId().getValue()); if (options.hasMaxlen()) { - maxLength = options.getMaxlen(); + xAddParams.maxLen(options.getMaxlen()); + } + if (options.isNoMkStream()) { + xAddParams.noMkStream(); } - return connection.invoke().from(BinaryJedis::xadd, MultiKeyPipelineBase::xadd, record.getStream(), id, - record.getValue(), maxLength, false).get(it -> RecordId.of(JedisConverters.toString(it))); + return connection.invoke() + .from(BinaryJedis::xadd, MultiKeyPipelineBase::xadd, record.getStream(), record.getValue(), xAddParams) + .get(it -> RecordId.of(JedisConverters.toString(it))); } /*