From 5781ad1de05484613dd0af6cb77c1026b1721966 Mon Sep 17 00:00:00 2001 From: Redkale <8730487+redkale@users.noreply.github.com> Date: Thu, 14 Jan 2021 12:25:23 +0800 Subject: [PATCH] --- src/org/redkale/cluster/CacheClusterAgent.java | 3 +++ src/org/redkale/cluster/ClusterAgent.java | 3 +++ 2 files changed, 6 insertions(+) diff --git a/src/org/redkale/cluster/CacheClusterAgent.java b/src/org/redkale/cluster/CacheClusterAgent.java index 71013521a..cb49cd6b1 100644 --- a/src/org/redkale/cluster/CacheClusterAgent.java +++ b/src/org/redkale/cluster/CacheClusterAgent.java @@ -272,6 +272,9 @@ public class CacheClusterAgent extends ClusterAgent implements Resourcable { } source.hremove(servicename, serviceid); if (realcanceled && currEntry != null) currEntry.canceled = true; + if (!"mqtp".equals(protocol) && currEntry != null && currEntry.submqtp) { + deregister(ns, "mqtp", service, realcanceled); + } } @Override diff --git a/src/org/redkale/cluster/ClusterAgent.java b/src/org/redkale/cluster/ClusterAgent.java index ab7b61be5..35b7cb620 100644 --- a/src/org/redkale/cluster/ClusterAgent.java +++ b/src/org/redkale/cluster/ClusterAgent.java @@ -116,6 +116,7 @@ public abstract class ClusterAgent { register(ns, "mqtp", service); ClusterEntry mqentry = new ClusterEntry(ns, "mqtp", service); localEntrys.put(mqentry.serviceid, mqentry); + htentry.submqtp = true; } } } @@ -313,6 +314,8 @@ public abstract class ClusterAgent { public boolean canceled; + public boolean submqtp; + public ClusterEntry(NodeServer ns, String protocol, Service service) { this.serviceid = generateServiceId(ns, protocol, service); this.servicename = generateServiceName(ns, protocol, service);