diff --git a/src/main/java/org/springframework/data/redis/connection/ReactiveStreamCommands.java b/src/main/java/org/springframework/data/redis/connection/ReactiveStreamCommands.java index d2f3948fc..30d54a63d 100644 --- a/src/main/java/org/springframework/data/redis/connection/ReactiveStreamCommands.java +++ b/src/main/java/org/springframework/data/redis/connection/ReactiveStreamCommands.java @@ -262,6 +262,7 @@ public interface ReactiveStreamCommands { * Limit the size of the stream to the given maximum number of elements. * * @return can be {@literal null}. + * @since 2.3 */ @Nullable public Long getMaxlen() { @@ -270,8 +271,9 @@ public interface ReactiveStreamCommands { /** * @return {@literal true} if {@literal MAXLEN} is set. + * @since 2.3 */ - public boolean hasMaxLen() { + public boolean hasMaxlen() { return maxlen != null && maxlen > 0; } } diff --git a/src/main/java/org/springframework/data/redis/connection/RedisStreamCommands.java b/src/main/java/org/springframework/data/redis/connection/RedisStreamCommands.java index 4aebe5ad5..83fe68abd 100644 --- a/src/main/java/org/springframework/data/redis/connection/RedisStreamCommands.java +++ b/src/main/java/org/springframework/data/redis/connection/RedisStreamCommands.java @@ -113,7 +113,9 @@ public interface RedisStreamCommands { */ class XAddOptions { - private @Nullable Long maxlen; + private static final XAddOptions NONE = new XAddOptions(null); + + private final @Nullable Long maxlen; private XAddOptions(@Nullable Long maxlen) { this.maxlen = maxlen; @@ -123,7 +125,7 @@ public interface RedisStreamCommands { * @return */ public static XAddOptions none() { - return new XAddOptions(null); + return NONE; } /** @@ -148,7 +150,7 @@ public interface RedisStreamCommands { /** * @return {@literal true} if {@literal MAXLEN} is set. */ - public boolean hasMaxLen() { + public boolean hasMaxlen() { return maxlen != null && maxlen > 0; } diff --git a/src/main/java/org/springframework/data/redis/connection/lettuce/LettuceReactiveStreamCommands.java b/src/main/java/org/springframework/data/redis/connection/lettuce/LettuceReactiveStreamCommands.java index c916a2c73..74cbd6c6e 100644 --- a/src/main/java/org/springframework/data/redis/connection/lettuce/LettuceReactiveStreamCommands.java +++ b/src/main/java/org/springframework/data/redis/connection/lettuce/LettuceReactiveStreamCommands.java @@ -100,7 +100,7 @@ class LettuceReactiveStreamCommands implements ReactiveStreamCommands { if (!command.getRecord().getId().shouldBeAutoGenerated()) { args.id(command.getRecord().getId().getValue()); } - if(command.hasMaxLen()) { + if (command.hasMaxlen()) { args.maxlen(command.getMaxlen()); } diff --git a/src/main/java/org/springframework/data/redis/connection/lettuce/LettuceStreamCommands.java b/src/main/java/org/springframework/data/redis/connection/lettuce/LettuceStreamCommands.java index 353b13978..7568641ee 100644 --- a/src/main/java/org/springframework/data/redis/connection/lettuce/LettuceStreamCommands.java +++ b/src/main/java/org/springframework/data/redis/connection/lettuce/LettuceStreamCommands.java @@ -91,7 +91,7 @@ class LettuceStreamCommands implements RedisStreamCommands { XAddArgs args = new XAddArgs(); args.id(record.getId().getValue()); - if(options.hasMaxLen()) { + if (options.hasMaxlen()) { args.maxlen(options.getMaxlen()); }