From 26795ece3f84d7ab5897bb96c26cb20a4f4e6414 Mon Sep 17 00:00:00 2001 From: redkale Date: Sat, 7 Oct 2023 22:53:04 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/org/redkale/boot/NodeServer.java | 8 ++++++-- src/main/java/org/redkale/mq/MessageAgent.java | 8 ++++---- src/main/java/org/redkale/net/http/WebSocketNode.java | 4 ++-- 3 files changed, 12 insertions(+), 8 deletions(-) diff --git a/src/main/java/org/redkale/boot/NodeServer.java b/src/main/java/org/redkale/boot/NodeServer.java index 40d9795ef..5f2cb2f85 100644 --- a/src/main/java/org/redkale/boot/NodeServer.java +++ b/src/main/java/org/redkale/boot/NodeServer.java @@ -363,8 +363,12 @@ public abstract class NodeServer { final boolean ws = (srcObj instanceof org.redkale.net.http.WebSocketNodeService); CacheSource source = application.loadCacheSource(resourceName, ws); field.set(srcObj, source); - - logger.info("Load CacheSource (type = " + (source == null ? null : source.getClass().getSimpleName()) + ", resourceName = '" + resourceName + "')"); + Resource res = field.getAnnotation(Resource.class); + if (res != null && res.required() && source == null) { + throw new RedkaleException("CacheSource (resourceName = '" + resourceName + "') not found"); + } else { + logger.info("Load CacheSource (type = " + (source == null ? null : source.getClass().getSimpleName()) + ", resourceName = '" + resourceName + "')"); + } return source; } catch (Exception e) { logger.log(Level.SEVERE, "DataSource inject error", e); diff --git a/src/main/java/org/redkale/mq/MessageAgent.java b/src/main/java/org/redkale/mq/MessageAgent.java index af5bc4322..409887883 100644 --- a/src/main/java/org/redkale/mq/MessageAgent.java +++ b/src/main/java/org/redkale/mq/MessageAgent.java @@ -175,17 +175,17 @@ public abstract class MessageAgent implements Resourcable { this.httpMessageClient.close(); this.sncpMessageClient.close(); - if (this.sncpClientProducer != null) { - this.sncpClientProducer.stop(); - } if (this.httpClientProducer != null) { this.httpClientProducer.stop(); } + if (this.sncpClientProducer != null) { + this.sncpClientProducer.stop(); + } if (this.clientMessageCoder instanceof Service) { ((Service) this.clientMessageCoder).destroy(config); } if (this.timeoutExecutor != null) { - this.timeoutExecutor.shutdownNow(); + this.timeoutExecutor.shutdown(); } if (this.workExecutor != null && this.workExecutor != application.getWorkExecutor()) { this.workExecutor.shutdownNow(); diff --git a/src/main/java/org/redkale/net/http/WebSocketNode.java b/src/main/java/org/redkale/net/http/WebSocketNode.java index 20a7a789a..751317644 100644 --- a/src/main/java/org/redkale/net/http/WebSocketNode.java +++ b/src/main/java/org/redkale/net/http/WebSocketNode.java @@ -11,8 +11,8 @@ import java.util.*; import java.util.concurrent.*; import java.util.logging.*; import java.util.stream.*; -import org.redkale.annotation.Comment; import org.redkale.annotation.*; +import org.redkale.annotation.Comment; import org.redkale.boot.Application; import org.redkale.convert.*; import org.redkale.convert.json.JsonConvert; @@ -38,7 +38,7 @@ public abstract class WebSocketNode implements Service { @Comment("存储当前SNCP节点列表的key") public static final String WS_SOURCE_KEY_NODES = "sncpws_nodes"; - protected final Logger logger = Logger.getLogger(this.getClass().getSimpleName()); + protected final Logger logger = Logger.getLogger(WebSocketNode.class.getSimpleName()); //"SNCP_ADDR" 如果不是分布式(没有SNCP) 值为null @Resource(name = Application.RESNAME_SNCP_ADDRESS, required = false)