diff --git a/redisson/src/main/java/org/redisson/RedissonJsonBucket.java b/redisson/src/main/java/org/redisson/RedissonJsonBucket.java index 89d0411bb..2ba5aaa0a 100644 --- a/redisson/src/main/java/org/redisson/RedissonJsonBucket.java +++ b/redisson/src/main/java/org/redisson/RedissonJsonBucket.java @@ -431,7 +431,7 @@ public class RedissonJsonBucket extends RedissonExpirable implements RJsonBuc @Override public RFuture deleteAsync() { - return commandExecutor.writeAsync(getRawName(), StringCodec.INSTANCE, RedisCommands.JSON_DEL, getRawName()); + return commandExecutor.writeAsync(getRawName(), StringCodec.INSTANCE, RedisCommands.JSON_DEL_BOOLEAN, getRawName()); } @Override diff --git a/redisson/src/main/java/org/redisson/client/protocol/RedisCommands.java b/redisson/src/main/java/org/redisson/client/protocol/RedisCommands.java index caf7a2c9c..3cf5f0d86 100644 --- a/redisson/src/main/java/org/redisson/client/protocol/RedisCommands.java +++ b/redisson/src/main/java/org/redisson/client/protocol/RedisCommands.java @@ -734,6 +734,8 @@ public interface RedisCommands { RedisStrictCommand JSON_DEL_LONG = new RedisStrictCommand<>("JSON.DEL"); + RedisStrictCommand JSON_DEL_BOOLEAN = new RedisStrictCommand<>("JSON.DEL", new BooleanReplayConvertor()); + RedisStrictCommand JSON_SET = new RedisStrictCommand<>("JSON.SET", new VoidReplayConvertor()); RedisStrictCommand JSON_SET_BOOLEAN = new RedisStrictCommand<>("JSON.SET", new BooleanNotNullReplayConvertor()); } diff --git a/redisson/src/test/java/org/redisson/RedissonJsonBucketTest.java b/redisson/src/test/java/org/redisson/RedissonJsonBucketTest.java index 0c852d4d4..400a2a530 100644 --- a/redisson/src/test/java/org/redisson/RedissonJsonBucketTest.java +++ b/redisson/src/test/java/org/redisson/RedissonJsonBucketTest.java @@ -415,6 +415,16 @@ public class RedissonJsonBucketTest extends BaseTest { assertThat(n2).isEqualTo(123); } + @Test + public void testDelete() { + RJsonBucket al = redisson.getJsonBucket("test", new JacksonCodec<>(TestType.class)); + assertThat(al.delete()).isFalse(); + TestType t = new TestType(); + t.setName("name1"); + al.set(t); + assertThat(al.delete()).isTrue(); + } + @Test public void testSetGet() { RJsonBucket al = redisson.getJsonBucket("test", new JacksonCodec<>(TestType.class));