diff --git a/redisson/src/main/java/org/redisson/RedissonRemoteService.java b/redisson/src/main/java/org/redisson/RedissonRemoteService.java index fecb9747a..4a847a1ea 100644 --- a/redisson/src/main/java/org/redisson/RedissonRemoteService.java +++ b/redisson/src/main/java/org/redisson/RedissonRemoteService.java @@ -226,6 +226,7 @@ public class RedissonRemoteService extends BaseRemoteService implements RRemoteS return tryExecuteAsync(remoteInterface, object, -1, null); } + @SuppressWarnings("MethodLength") private void subscribe(Class remoteInterface, RBlockingQueue requestQueue, ExecutorService executor, Object bean) { Entry entry = remoteMap.get(remoteInterface); @@ -359,6 +360,13 @@ public class RedissonRemoteService extends BaseRemoteService implements RRemoteS } executeMethod(remoteInterface, requestQueue, executor, request, bean); + }) + .exceptionally(exack -> { + if (exack instanceof RedissonShutdownException) { + return null; + } + log.error("Can't send ack for request: {}", request, exack); + return null; }); }); } else {