From ebdbbd595f8833e618f7074242aa96aec7134004 Mon Sep 17 00:00:00 2001 From: Nikita Koksharov Date: Mon, 1 May 2023 09:15:53 +0300 Subject: [PATCH] Feature - RLocalCachedMap.removeListener() method doesn't remove local cache listeners --- .../java/org/redisson/RedissonLocalCachedMap.java | 12 ++++++++++++ .../java/org/redisson/cache/LocalCacheListener.java | 5 +++++ 2 files changed, 17 insertions(+) diff --git a/redisson/src/main/java/org/redisson/RedissonLocalCachedMap.java b/redisson/src/main/java/org/redisson/RedissonLocalCachedMap.java index ff2a6b724..1aa83cb08 100644 --- a/redisson/src/main/java/org/redisson/RedissonLocalCachedMap.java +++ b/redisson/src/main/java/org/redisson/RedissonLocalCachedMap.java @@ -1323,4 +1323,16 @@ public class RedissonLocalCachedMap extends RedissonMap implements R } return super.addListenerAsync(listener); } + + @Override + public void removeListener(int listenerId) { + listener.removeListener(listenerId); + super.removeListener(listenerId); + } + + @Override + public RFuture removeListenerAsync(int listenerId) { + listener.removeListener(listenerId); + return super.removeListenerAsync(listenerId); + } } diff --git a/redisson/src/main/java/org/redisson/cache/LocalCacheListener.java b/redisson/src/main/java/org/redisson/cache/LocalCacheListener.java index 920c9a287..fe11292e0 100644 --- a/redisson/src/main/java/org/redisson/cache/LocalCacheListener.java +++ b/redisson/src/main/java/org/redisson/cache/LocalCacheListener.java @@ -382,4 +382,9 @@ public abstract class LocalCacheListener { return listenerId; } + public void removeListener(int listenerId) { + updateListeners.remove(listenerId); + invalidateListeners.remove(listenerId); + } + }