diff --git a/src/main/java/org/redkale/boot/NodeServer.java b/src/main/java/org/redkale/boot/NodeServer.java index 5f2cb2f85..3293b7dd5 100644 --- a/src/main/java/org/redkale/boot/NodeServer.java +++ b/src/main/java/org/redkale/boot/NodeServer.java @@ -870,11 +870,11 @@ public abstract class NodeServer { localServices.forEach(y -> { long s = System.currentTimeMillis(); if (finest) { - logger.finest(y + " is destroying"); + logger.finest(Sncp.getResourceType(y) + " is destroying"); } y.destroy(Sncp.getResourceConf(y)); if (finest) { - logger.finest(y + " was destroyed"); + logger.finest(Sncp.getResourceType(y) + " was destroyed"); } long e = System.currentTimeMillis() - s; if (e > 2 && sb != null) { diff --git a/src/main/java/org/redkale/mq/MessageAgent.java b/src/main/java/org/redkale/mq/MessageAgent.java index 409887883..71131a1b7 100644 --- a/src/main/java/org/redkale/mq/MessageAgent.java +++ b/src/main/java/org/redkale/mq/MessageAgent.java @@ -167,28 +167,40 @@ public abstract class MessageAgent implements Resourcable { //Application.stop 在所有server.shutdown执行后执行 public void destroy(AnyValue config) { + logger.log(Level.FINE, "MessageConsumer destroying"); for (MessageConsumer consumer : messageConsumerList) { consumer.destroy(config); } this.messageConsumerList.clear(); this.messageConsumerMap.clear(); + logger.log(Level.FINE, "MessageConsumer destroyed"); this.httpMessageClient.close(); this.sncpMessageClient.close(); + logger.log(Level.FINE, "httpMessageClient and sncpMessageClient destroyed"); + if (this.httpClientProducer != null) { + logger.log(Level.FINE, "httpClientProducer stoping"); this.httpClientProducer.stop(); + logger.log(Level.FINE, "httpClientProducer stoped"); } if (this.sncpClientProducer != null) { + logger.log(Level.FINE, "sncpClientProducer stoping"); this.sncpClientProducer.stop(); + logger.log(Level.FINE, "sncpClientProducer stoped"); } if (this.clientMessageCoder instanceof Service) { + logger.log(Level.FINE, "clientMessageCoder destroying"); ((Service) this.clientMessageCoder).destroy(config); + logger.log(Level.FINE, "clientMessageCoder destroyed"); } if (this.timeoutExecutor != null) { - this.timeoutExecutor.shutdown(); + this.timeoutExecutor.shutdownNow(); + logger.log(Level.FINE, "timeoutExecutor shutdownNow"); } if (this.workExecutor != null && this.workExecutor != application.getWorkExecutor()) { this.workExecutor.shutdownNow(); + logger.log(Level.FINE, "workExecutor shutdownNow"); } } diff --git a/src/main/java/org/redkale/net/sncp/Sncp.java b/src/main/java/org/redkale/net/sncp/Sncp.java index 39307e725..30f80e568 100644 --- a/src/main/java/org/redkale/net/sncp/Sncp.java +++ b/src/main/java/org/redkale/net/sncp/Sncp.java @@ -251,6 +251,7 @@ public abstract class Sncp { public static Class getServiceType(Class serviceImplClass) { SncpDyn dyn = serviceImplClass.getAnnotation(SncpDyn.class); + System.out.println("dyn = " + dyn + ", serviceImplClass = " + serviceImplClass + ", type = " + (dyn == null ? "ddd" : dyn.type())); return dyn != null ? dyn.type() : serviceImplClass; }