From edfe815d5ae7c986dd7c50d8efd1338b025d3b37 Mon Sep 17 00:00:00 2001 From: byteblogs168 <598092184@qq.com> Date: Tue, 18 Jul 2023 12:19:45 +0800 Subject: [PATCH] =?UTF-8?q?fix:=202.0.2=201.=20=E4=BF=AE=E5=A4=8D=E6=B2=A1?= =?UTF-8?q?=E6=9C=89=E9=85=8D=E7=BD=AE=E7=BB=84=E6=97=B6=E8=8E=B7=E5=8F=96?= =?UTF-8?q?=E5=9C=BA=E6=99=AF=E9=BB=91=E5=90=8D=E5=8D=95NPE=E9=97=AE?= =?UTF-8?q?=E9=A2=98=202.=20=E4=BF=AE=E5=A4=8D=E4=B8=8D=E5=90=8C=E7=BB=84?= =?UTF-8?q?=E7=9A=84ScanActor=E5=AF=B9=E8=B1=A1=E7=9B=B8=E5=90=8C=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/aizuda/easy/retry/server/enums/TaskTypeEnum.java | 9 ++++++--- .../support/access/config/MybatisConfigAccess.java | 5 +++++ .../retry/server/support/dispatch/DispatchService.java | 2 +- .../easy/retry/server/support/retry/RetryExecutor.java | 3 +++ 4 files changed, 15 insertions(+), 4 deletions(-) diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/enums/TaskTypeEnum.java b/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/enums/TaskTypeEnum.java index da613a4b..c179f644 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/enums/TaskTypeEnum.java +++ b/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/enums/TaskTypeEnum.java @@ -5,6 +5,8 @@ import com.aizuda.easy.retry.server.akka.ActorGenerator; import lombok.AllArgsConstructor; import lombok.Getter; +import java.util.function.Supplier; + /** * @author www.byteblogs.com * @date 2023-06-04 @@ -13,9 +15,10 @@ import lombok.Getter; @AllArgsConstructor @Getter public enum TaskTypeEnum { - RETRY(1, ActorGenerator.scanGroupActor()), - CALLBACK(2, ActorGenerator.scanCallbackGroupActor()); + RETRY(1, ActorGenerator::scanGroupActor), + CALLBACK(2, ActorGenerator::scanCallbackGroupActor); private final Integer type; - private final ActorRef actorRef; + private final Supplier actorRef; + } diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/persistence/support/access/config/MybatisConfigAccess.java b/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/persistence/support/access/config/MybatisConfigAccess.java index e3f06d18..eb01be2c 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/persistence/support/access/config/MybatisConfigAccess.java +++ b/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/persistence/support/access/config/MybatisConfigAccess.java @@ -10,6 +10,7 @@ import org.springframework.util.CollectionUtils; import java.util.Collections; import java.util.List; +import java.util.Objects; import java.util.Set; import java.util.stream.Collectors; @@ -65,6 +66,10 @@ public class MybatisConfigAccess extends AbstractConfigAccess { LambdaQueryWrapper sceneConfigLambdaQueryWrapper = new LambdaQueryWrapper() .eq(SceneConfig::getSceneName, groupName); + if (Objects.isNull(groupConfig)) { + return Collections.EMPTY_SET; + } + if (StatusEnum.YES.getStatus().equals(groupConfig.getGroupStatus())) { sceneConfigLambdaQueryWrapper.eq(SceneConfig::getSceneStatus, StatusEnum.NO.getStatus()); } diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/dispatch/DispatchService.java b/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/dispatch/DispatchService.java index 353fc7ad..207536a3 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/dispatch/DispatchService.java +++ b/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/dispatch/DispatchService.java @@ -134,7 +134,7 @@ public class DispatchService implements Lifecycle { private ActorRef cacheActorRef(String groupName, TaskTypeEnum typeEnum) { ActorRef scanActorRef = CacheGroupScanActor.get(groupName, typeEnum); if (Objects.isNull(scanActorRef)) { - scanActorRef = typeEnum.getActorRef(); + scanActorRef = typeEnum.getActorRef().get(); // 缓存扫描器actor CacheGroupScanActor.put(groupName, typeEnum, scanActorRef); } diff --git a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/retry/RetryExecutor.java b/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/retry/RetryExecutor.java index 166a913e..88ee349d 100644 --- a/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/retry/RetryExecutor.java +++ b/easy-retry-server/src/main/java/com/aizuda/easy/retry/server/support/retry/RetryExecutor.java @@ -40,6 +40,9 @@ public class RetryExecutor { for (FilterStrategy filterStrategy : filterStrategies) { if (!filterStrategy.filter(retryContext)) { + log.warn("当前任务不满足执行条件. groupName:[{}] uniqueId:[{}], filter:[{}]", + retryContext.getRetryTask().getGroupName(), + retryContext.getRetryTask().getUniqueId(), filterStrategy.getClass().getName()); return false; } }