diff --git a/src/main/java/org/redkale/boot/NodeHttpServer.java b/src/main/java/org/redkale/boot/NodeHttpServer.java index e9a75cfba..2a2e5309c 100644 --- a/src/main/java/org/redkale/boot/NodeHttpServer.java +++ b/src/main/java/org/redkale/boot/NodeHttpServer.java @@ -22,8 +22,8 @@ import org.redkale.net.*; import org.redkale.net.http.*; import org.redkale.net.sncp.Sncp; import org.redkale.service.Service; -import org.redkale.util.AnyValue.DefaultAnyValue; import org.redkale.util.*; +import org.redkale.util.AnyValue.DefaultAnyValue; import org.redkale.watch.*; /** @@ -558,12 +558,12 @@ public class NodeHttpServer extends NodeServer { if (!cluster.containsPort(server.getSocketAddress().getPort())) { return; } - cluster.register(this, protocol, dynServletMap.keySet(), new HashSet<>()); + cluster.register(this, protocol, dynServletMap.keySet(), new HashSet<>(), dynServletMap.keySet()); } } @Override protected void afterClusterDeregisterOnPreDestroyServices(ClusterAgent cluster, String protocol) { - cluster.deregister(this, protocol, dynServletMap.keySet(), new HashSet<>()); + cluster.deregister(this, protocol, dynServletMap.keySet(), new HashSet<>(), dynServletMap.keySet()); } } diff --git a/src/main/java/org/redkale/boot/NodeServer.java b/src/main/java/org/redkale/boot/NodeServer.java index 1c77bdfb9..40d9795ef 100644 --- a/src/main/java/org/redkale/boot/NodeServer.java +++ b/src/main/java/org/redkale/boot/NodeServer.java @@ -593,7 +593,7 @@ public abstract class NodeServer { localServices.addAll(swlist); //this.loadPersistData(); long preinits = System.currentTimeMillis(); - preInitServices(localServices, remoteServices); + preInitServices(localServices, remoteServices, servletServices); long preinite = System.currentTimeMillis() - preinits; final List slist = sb == null ? null : new CopyOnWriteArrayList<>(); if (application.isCompileMode()) { @@ -669,7 +669,7 @@ public abstract class NodeServer { } //Service.init执行之前调用 - protected void preInitServices(Set localServices, Set remoteServices) { + protected void preInitServices(Set localServices, Set remoteServices, Set servletServices) { final ClusterAgent cluster = application.getClusterAgent(); if (!application.isCompileMode() && cluster != null) { NodeProtocol pros = getClass().getAnnotation(NodeProtocol.class); @@ -680,7 +680,7 @@ public abstract class NodeServer { if (!cluster.containsPort(server.getSocketAddress().getPort())) { return; } - cluster.register(this, protocol, localServices, remoteServices); + cluster.register(this, protocol, localServices, remoteServices, servletServices); } } @@ -690,13 +690,13 @@ public abstract class NodeServer { } //Service.destroy执行之前调用 - protected void preDestroyServices(Set localServices, Set remoteServices) { + protected void preDestroyServices(Set localServices, Set remoteServices, Set servletServices) { if (!application.isCompileMode() && application.getClusterAgent() != null) { //服务注销 final ClusterAgent cluster = application.getClusterAgent(); NodeProtocol pros = getClass().getAnnotation(NodeProtocol.class); String protocol = pros.value().toUpperCase(); if (cluster.containsProtocol(protocol) && cluster.containsPort(server.getSocketAddress().getPort())) { - cluster.deregister(this, protocol, localServices, remoteServices); + cluster.deregister(this, protocol, localServices, remoteServices, servletServices); afterClusterDeregisterOnPreDestroyServices(cluster, protocol); } } @@ -708,7 +708,7 @@ public abstract class NodeServer { } //Server.start执行之后调用 - protected void postStartServer(Set localServices, Set remoteServices) { + protected void postStartServer(Set localServices, Set remoteServices, Set servletServices) { } protected abstract ClassFilter createFilterClassFilter(); @@ -853,7 +853,7 @@ public abstract class NodeServer { interceptor.preStart(this); } server.start(); - postStartServer(localServices, remoteServices); + postStartServer(localServices, remoteServices, servletServices); } public void shutdown() throws IOException { @@ -862,7 +862,7 @@ public abstract class NodeServer { } final StringBuilder sb = logger.isLoggable(Level.INFO) ? new StringBuilder() : null; final boolean finest = logger.isLoggable(Level.FINEST); - preDestroyServices(localServices, remoteServices); + preDestroyServices(localServices, remoteServices, servletServices); localServices.forEach(y -> { long s = System.currentTimeMillis(); if (finest) { diff --git a/src/main/java/org/redkale/cluster/CacheClusterAgent.java b/src/main/java/org/redkale/cluster/CacheClusterAgent.java index f2126592f..b7cccf807 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." + super.generateApplicationServiceName(); + return "cluster.application." + super.generateApplicationServiceName(); } @Override protected String generateServiceName(NodeServer ns, String protocol, Service service) { - return "cluster." + 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." + 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." + 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 645741e1d..5db0096cb 100644 --- a/src/main/java/org/redkale/cluster/ClusterAgent.java +++ b/src/main/java/org/redkale/cluster/ClusterAgent.java @@ -136,12 +136,12 @@ public abstract class ClusterAgent { public abstract void deregister(Application application); //注册服务, 在NodeService调用Service.init方法之前调用 - public void register(NodeServer ns, String protocol, Set localServices, Set remoteServices) { - if (localServices.isEmpty()) { + public void register(NodeServer ns, String protocol, Set localServices, Set remoteServices, Set servletServices) { + if (servletServices.isEmpty()) { return; } //注册本地模式 - for (Service service : localServices) { + for (Service service : servletServices) { if (!canRegister(ns, protocol, service)) { continue; } @@ -159,9 +159,9 @@ public abstract class ClusterAgent { } //注销服务, 在NodeService调用Service.destroy 方法之前调用 - public void deregister(NodeServer ns, String protocol, Set localServices, Set remoteServices) { + public void deregister(NodeServer ns, String protocol, Set localServices, Set remoteServices, Set servletServices) { //注销本地模式 远程模式不注册 - for (Service service : localServices) { + for (Service service : servletServices) { if (!canRegister(ns, protocol, service)) { continue; } @@ -253,11 +253,11 @@ public abstract class ClusterAgent { } protected String generateApplicationServiceName() { - return "application.node" + (appName == null || appName.isEmpty() ? "" : ("." + appName)); + return "node" + (appName == null || appName.isEmpty() ? "" : ("." + appName)); } protected String generateApplicationServiceType() { - return "application.nodes"; + return "nodes"; } protected String generateApplicationServiceId() { @@ -281,7 +281,7 @@ public abstract class ClusterAgent { } protected String serviceSeparator() { - return "-"; + return "."; } public String generateSncpServiceName(String protocol, String restype, String resname) { diff --git a/src/main/java/org/redkale/mq/MessageAgent.java b/src/main/java/org/redkale/mq/MessageAgent.java index 23b6ceb24..6daf2a735 100644 --- a/src/main/java/org/redkale/mq/MessageAgent.java +++ b/src/main/java/org/redkale/mq/MessageAgent.java @@ -25,6 +25,7 @@ import static org.redkale.boot.Application.RESNAME_APP_NODEID; import org.redkale.convert.Convert; import org.redkale.convert.ConvertFactory; import org.redkale.convert.ConvertType; +import org.redkale.convert.json.JsonConvert; import org.redkale.net.Servlet; import org.redkale.net.WorkThread; import org.redkale.net.http.*; @@ -248,7 +249,7 @@ public abstract class MessageAgent implements Resourcable { } } String typestr = consumer.getClass().getName(); - String topicstr = topics.size() == 1 ? topics.get(0) : topics.toString(); + String topicstr = JsonConvert.root().convertTo(topics.size() == 1 ? topics.get(0) : topics); if (typestr.length() > typeMax.get()) { typeMax.set(typestr.length()); }