From 1cb72df52ef40fb7ef343d699c2a25f435ee91cd Mon Sep 17 00:00:00 2001 From: Redkale <22250530@qq.com> Date: Sat, 2 Jun 2018 22:34:34 +0800 Subject: [PATCH] --- src/org/redkale/service/WebSocketNodeService.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/org/redkale/service/WebSocketNodeService.java b/src/org/redkale/service/WebSocketNodeService.java index 637970083..759ea82dd 100644 --- a/src/org/redkale/service/WebSocketNodeService.java +++ b/src/org/redkale/service/WebSocketNodeService.java @@ -97,8 +97,9 @@ public class WebSocketNodeService extends WebSocketNode implements Service { @Override public CompletableFuture disconnect(Serializable userid, InetSocketAddress sncpAddr) { tryAcquireSemaphore(); - CompletableFuture future = sncpNodeAddresses.removeSetItemAsync(SOURCE_SNCP_USERID_PREFIX + userid, sncpAddr); - future = future.thenAccept((a) -> sncpNodeAddresses.decr(SOURCE_SNCP_USERCOUNT_KEY)); + CompletableFuture future = CompletableFuture.allOf( + sncpNodeAddresses.removeSetItemAsync(SOURCE_SNCP_USERID_PREFIX + userid, sncpAddr), + sncpNodeAddresses.decrAsync(SOURCE_SNCP_USERCOUNT_KEY)); if (semaphore != null) future.whenComplete((r, e) -> releaseSemaphore()); if (logger.isLoggable(Level.FINEST)) logger.finest(WebSocketNodeService.class.getSimpleName() + ".event: " + userid + " disconnect from " + sncpAddr); return future;