From 84147280cfb972fea79dd2fba38376111998a7a9 Mon Sep 17 00:00:00 2001 From: Redkale <8730487+redkale@users.noreply.github.com> Date: Thu, 30 Jul 2020 09:44:07 +0800 Subject: [PATCH] --- src/org/redkale/boot/Application.java | 14 +++++++------- src/org/redkale/service/Service.java | 1 + 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/src/org/redkale/boot/Application.java b/src/org/redkale/boot/Application.java index 2eda5d6d4..75596c032 100644 --- a/src/org/redkale/boot/Application.java +++ b/src/org/redkale/boot/Application.java @@ -1149,6 +1149,13 @@ public final class Application { } logger.info("MessageAgent(names=" + JsonConvert.root().convertTo(names) + ") stop in " + (System.currentTimeMillis() - s) + " ms"); } + if (clusterAgent != null) { + if (logger.isLoggable(Level.FINER)) logger.log(Level.FINER, "ClusterAgent destroying"); + long s = System.currentTimeMillis(); + clusterAgent.deregister(this); + clusterAgent.destroy(clusterAgent.getConfig()); + logger.info("ClusterAgent destroy in " + (System.currentTimeMillis() - s) + " ms"); + } localServers.stream().forEach((server) -> { try { server.shutdown(); @@ -1158,13 +1165,6 @@ public final class Application { serversLatch.countDown(); } }); - if (clusterAgent != null) { - if (logger.isLoggable(Level.FINER)) logger.log(Level.FINER, "ClusterAgent destroying"); - long s = System.currentTimeMillis(); - clusterAgent.deregister(this); - clusterAgent.destroy(clusterAgent.getConfig()); - logger.info("ClusterAgent destroy in " + (System.currentTimeMillis() - s) + " ms"); - } if (this.messageAgents != null) { Set names = new HashSet<>(); if (logger.isLoggable(Level.FINER)) logger.log(Level.FINER, "MessageAgent destroying"); diff --git a/src/org/redkale/service/Service.java b/src/org/redkale/service/Service.java index 19a235139..69e65cf33 100644 --- a/src/org/redkale/service/Service.java +++ b/src/org/redkale/service/Service.java @@ -49,6 +49,7 @@ public interface Service { /** * 进程退出时,调用Service销毁 * 远程模式下该方法会重载成空方法 + * 注意: 在此方法内不能调用MessageClient.sendMessage 方法,因为Application关闭时会先destroy掉MessageClient * * @param config 配置参数 */