From 4daffdc31fd749cdeb68751715a8468bf77aa879 Mon Sep 17 00:00:00 2001 From: Redkale <8730487+redkale@users.noreply.github.com> Date: Thu, 21 May 2020 20:23:56 +0800 Subject: [PATCH] --- src/org/redkale/boot/ClusterAgent.java | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/org/redkale/boot/ClusterAgent.java b/src/org/redkale/boot/ClusterAgent.java index b3953cbf0..88c99382e 100644 --- a/src/org/redkale/boot/ClusterAgent.java +++ b/src/org/redkale/boot/ClusterAgent.java @@ -9,6 +9,7 @@ import java.lang.ref.WeakReference; import java.net.InetSocketAddress; import java.util.*; import java.util.concurrent.ConcurrentHashMap; +import java.util.logging.Logger; import org.redkale.convert.json.JsonConvert; import org.redkale.net.*; import org.redkale.net.sncp.*; @@ -25,6 +26,8 @@ import org.redkale.util.*; */ public abstract class ClusterAgent { + protected final Logger logger = Logger.getLogger(this.getClass().getSimpleName()); + protected int nodeid; protected String name; @@ -98,12 +101,24 @@ public abstract class ClusterAgent { for (Service service : localServices) { deregister(ns, protocol, service); } + int s = intervalCheckSeconds(); + if (s > 0) { //暂停,弥补其他依赖本进程服务的周期偏差 + try { + Thread.sleep(s * 1000); + } catch (InterruptedException ex) { + } + logger.info(this.getClass().getSimpleName() + " sleep " + s + " s after deregister"); + } //远程模式不注册 } protected void afterRegister(NodeServer ns, String protocol) { } + public int intervalCheckSeconds() { + return 10; + } + //获取远程服务的可用ip列表 protected abstract Collection queryAddress(ClusterEntry entry);