From cc6624bfdc1cfb95c1c2b6fd473b00f3867c63bc Mon Sep 17 00:00:00 2001 From: redkale Date: Tue, 17 Oct 2023 18:40:34 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96cluster?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/org/redkale/boot/Application.java | 18 +++++++++--------- .../org/redkale/cluster/CacheClusterAgent.java | 8 ++++---- .../java/org/redkale/cluster/ClusterAgent.java | 16 ++++++++-------- .../redkale/cluster/HttpClusterRpcClient.java | 4 ++-- 4 files changed, 23 insertions(+), 23 deletions(-) diff --git a/src/main/java/org/redkale/boot/Application.java b/src/main/java/org/redkale/boot/Application.java index 778bf8070..c55204f02 100644 --- a/src/main/java/org/redkale/boot/Application.java +++ b/src/main/java/org/redkale/boot/Application.java @@ -2599,15 +2599,6 @@ public final class Application { } logger.info("MessageAgent(names=" + JsonConvert.root().convertTo(names) + ") stop in " + (System.currentTimeMillis() - s) + " ms"); } - if (!isCompileMode() && 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(); @@ -2629,6 +2620,15 @@ public final class Application { } logger.info("MessageAgent(names=" + JsonConvert.root().convertTo(names) + ") destroy in " + (System.currentTimeMillis() - s) + " ms"); } + if (!isCompileMode() && 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"); + } for (DataSource source : dataSources) { if (source == null) { continue; diff --git a/src/main/java/org/redkale/cluster/CacheClusterAgent.java b/src/main/java/org/redkale/cluster/CacheClusterAgent.java index 2da0677c7..47fa96776 100644 --- a/src/main/java/org/redkale/cluster/CacheClusterAgent.java +++ b/src/main/java/org/redkale/cluster/CacheClusterAgent.java @@ -309,22 +309,22 @@ public class CacheClusterAgent extends ClusterAgent implements Resourcable { @Override protected String generateApplicationServiceName() { - return "cluster.application." + super.generateApplicationServiceName(); + return "cluster:app:" + super.generateApplicationServiceName(); } @Override protected String generateServiceName(NodeServer ns, String protocol, Service service) { - return "cluster.service." + super.generateServiceName(ns, protocol, service); + return "cluster:service:" + super.generateServiceName(ns, protocol, service); } @Override public String generateHttpServiceName(String protocol, String module, String resname) { - return "cluster.service." + super.generateHttpServiceName(protocol, module, resname); + return "cluster:service:" + super.generateHttpServiceName(protocol, module, resname); } @Override public String generateSncpServiceName(String protocol, String restype, String resname) { - return "cluster.service." + super.generateSncpServiceName(protocol, restype, resname); + return "cluster:service:" + super.generateSncpServiceName(protocol, restype, resname); } @Override diff --git a/src/main/java/org/redkale/cluster/ClusterAgent.java b/src/main/java/org/redkale/cluster/ClusterAgent.java index c476d4a7f..1d48450e2 100644 --- a/src/main/java/org/redkale/cluster/ClusterAgent.java +++ b/src/main/java/org/redkale/cluster/ClusterAgent.java @@ -256,7 +256,7 @@ public abstract class ClusterAgent { } protected String generateApplicationServiceName() { - return "node" + (appName == null || appName.isEmpty() ? "" : ("." + appName)); + return Utility.isEmpty(appName) ? "node" : appName; } protected String generateApplicationServiceType() { @@ -264,7 +264,7 @@ public abstract class ClusterAgent { } protected String generateApplicationServiceId() { - return generateApplicationServiceName() + "." + this.nodeid; + return generateApplicationServiceName() + "@" + this.nodeid; } protected String generateApplicationCheckName() { @@ -284,12 +284,12 @@ public abstract class ClusterAgent { } public String generateSncpServiceName(String protocol, String restype, String resname) { - return protocol.toLowerCase() + "." + restype + (resname == null || resname.isEmpty() ? "" : ("-" + resname)); + return protocol.toLowerCase() + ":" + restype + (resname == null || resname.isEmpty() ? "" : ("-" + resname)); } //也会提供给HttpMessageClusterAgent适用 public String generateHttpServiceName(String protocol, String module, String resname) { - return protocol.toLowerCase() + "." + module + (resname == null || resname.isEmpty() ? "" : ("-" + resname)); + return protocol.toLowerCase() + ":" + module + (resname == null || resname.isEmpty() ? "" : ("-" + resname)); } //格式: protocol:classtype-resourcename @@ -297,18 +297,18 @@ public abstract class ClusterAgent { if (protocol.toLowerCase().startsWith("http")) { //HTTP使用RestService.name方式是为了与MessageClient中的module保持一致, 因为HTTP依靠的url中的module,无法知道Service类名 String resname = Sncp.getResourceName(service); String module = Rest.getRestModule(service).toLowerCase(); - return protocol.toLowerCase() + "." + module + (resname.isEmpty() ? "" : ("-" + resname)); + return protocol.toLowerCase() + ":" + module + (resname.isEmpty() ? "" : ("-" + resname)); } if (!Sncp.isSncpDyn(service)) { - return protocol.toLowerCase() + "." + service.getClass().getName(); + return protocol.toLowerCase() + ":" + service.getClass().getName(); } String resname = Sncp.getResourceName(service); - return protocol.toLowerCase() + "." + Sncp.getResourceType(service).getName() + (resname.isEmpty() ? "" : ("-" + resname)); + return protocol.toLowerCase() + ":" + Sncp.getResourceType(service).getName() + (resname.isEmpty() ? "" : ("-" + resname)); } //格式: protocol:classtype-resourcename:nodeid protected String generateServiceId(NodeServer ns, String protocol, Service service) { - return generateServiceName(ns, protocol, service) + "." + this.nodeid; + return generateServiceName(ns, protocol, service) + "@" + this.nodeid; } protected String generateCheckName(NodeServer ns, String protocol, Service service) { diff --git a/src/main/java/org/redkale/cluster/HttpClusterRpcClient.java b/src/main/java/org/redkale/cluster/HttpClusterRpcClient.java index 8e8d8ac4f..484748c5b 100644 --- a/src/main/java/org/redkale/cluster/HttpClusterRpcClient.java +++ b/src/main/java/org/redkale/cluster/HttpClusterRpcClient.java @@ -84,8 +84,8 @@ public class HttpClusterRpcClient extends HttpRpcClient { } return clusterAgent.queryHttpAddress("http", module, resname).thenCompose(addrs -> { if (addrs == null || addrs.isEmpty()) { - if (logger.isLoggable(Level.FINE)) { - logger.log(Level.FINE, "httpAsync." + (produce ? "produceMessage" : "sendMessage") + ": module=" + localModule + ", resname=" + resname + ", addrmap is empty"); + if (logger.isLoggable(Level.WARNING)) { + logger.log(Level.WARNING, "httpAsync." + (produce ? "produceMessage" : "sendMessage") + ": module=" + localModule + ", resname=" + resname + ", addrmap is empty"); } return new HttpResult().status(404).toFuture(); }