From f327378d18a478c37f07a14ba7183479850f14de Mon Sep 17 00:00:00 2001 From: Redkale Date: Wed, 21 Dec 2022 14:43:13 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8DAPP=5FEXECUTOR=E8=B5=84?= =?UTF-8?q?=E6=BA=90=E4=B8=BAnull=E6=97=B6inject=E6=8A=A5=E9=94=99?= =?UTF-8?q?=E7=9A=84bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/main/java/org/redkale/boot/NodeServer.java | 4 +++- src/main/java/org/redkale/service/AbstractService.java | 5 +++-- src/main/java/org/redkale/source/DataSqlSource.java | 1 + 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/main/java/org/redkale/boot/NodeServer.java b/src/main/java/org/redkale/boot/NodeServer.java index 9f5417cb2..92d43e989 100644 --- a/src/main/java/org/redkale/boot/NodeServer.java +++ b/src/main/java/org/redkale/boot/NodeServer.java @@ -299,8 +299,10 @@ public abstract class NodeServer { public Object load(ResourceFactory rf, String srcResourceName, final Object srcObj, final String resourceName, Field field, final Object attachment) { try { if (field.getAnnotation(Resource.class) == null && field.getAnnotation(javax.annotation.Resource.class) == null) return null; - if (!(srcObj instanceof Service)) throw new RuntimeException("CacheSource must be inject in Service, cannot " + srcObj); if ((srcObj instanceof Service) && Sncp.isRemote((Service) srcObj)) return null; //远程模式不需要注入 CacheSource + if (!(srcObj instanceof Service)) { + throw new RuntimeException("CacheSource must be inject in Service, cannot in " + srcObj); + } final Service srcService = (Service) srcObj; SncpClient client = Sncp.getSncpClient(srcService); final InetSocketAddress sncpAddr = client == null ? null : client.getClientAddress(); diff --git a/src/main/java/org/redkale/service/AbstractService.java b/src/main/java/org/redkale/service/AbstractService.java index dbe7d1e6b..a6a08c64f 100644 --- a/src/main/java/org/redkale/service/AbstractService.java +++ b/src/main/java/org/redkale/service/AbstractService.java @@ -8,7 +8,7 @@ package org.redkale.service; import java.util.concurrent.*; import org.redkale.annotation.Resource; import org.redkale.boot.Application; -import org.redkale.net.*; +import org.redkale.net.WorkThread; import org.redkale.net.sncp.Sncp; import org.redkale.util.ThreadHashExecutor; @@ -18,7 +18,8 @@ import org.redkale.util.ThreadHashExecutor; */ public abstract class AbstractService implements Service { - @Resource(name = Application.RESNAME_APP_EXECUTOR) + //配置 APP_EXECUTOR资源为null + @Resource(name = Application.RESNAME_APP_EXECUTOR, required = false) private ExecutorService workExecutor; /** diff --git a/src/main/java/org/redkale/source/DataSqlSource.java b/src/main/java/org/redkale/source/DataSqlSource.java index 4e79e4ae5..be3e36e26 100644 --- a/src/main/java/org/redkale/source/DataSqlSource.java +++ b/src/main/java/org/redkale/source/DataSqlSource.java @@ -58,6 +58,7 @@ public abstract class DataSqlSource extends AbstractDataSource implements Functi @Resource(name = RESNAME_APP_CLIENT_ASYNCGROUP, required = false) protected AsyncGroup clientAsyncGroup; + //配置 APP_EXECUTOR资源为null @Resource(name = RESNAME_APP_EXECUTOR, required = false) protected ExecutorService workExecutor;