From f58d4e90bea73ea68adf5afab6b8f491c066fe36 Mon Sep 17 00:00:00 2001 From: Mark Paluch Date: Wed, 30 Nov 2022 15:29:08 +0100 Subject: [PATCH] =?UTF-8?q?Fix=20ReactiveRedisMessageListenerContainer=20d?= =?UTF-8?q?isposal=20via=20ReactiveRedisTemplate.listenToLater(=E2=80=A6).?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit We now properly dispose the container at the right time and not as result of the Mono<…> completion. Closes: #2386 Original Pull Request: #2467 --- .../springframework/data/redis/core/ReactiveRedisTemplate.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/springframework/data/redis/core/ReactiveRedisTemplate.java b/src/main/java/org/springframework/data/redis/core/ReactiveRedisTemplate.java index ad32a566d..da4c76825 100644 --- a/src/main/java/org/springframework/data/redis/core/ReactiveRedisTemplate.java +++ b/src/main/java/org/springframework/data/redis/core/ReactiveRedisTemplate.java @@ -291,7 +291,8 @@ public class ReactiveRedisTemplate implements ReactiveRedisOperations container.destroyLater().subscribe()); + .map(it -> it.doFinally(signalType -> container.destroyLater().subscribe())) + .doOnCancel(() -> container.destroyLater().subscribe()); } // -------------------------------------------------------------------------