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 da613a4b5..c179f644f 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 e3f06d18f..eb01be2c5 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 353fc7adf..207536a39 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 166a913e2..88ee349d7 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; } }