Browse Source

优化逻辑

AE86 2 years ago
parent
commit
d6423a4138
24 changed files with 316 additions and 376 deletions
  1. 1 1
      dbsyncer-biz/src/main/java/org/dbsyncer/biz/impl/ConfigServiceImpl.java
  2. 4 0
      dbsyncer-manager/src/main/java/org/dbsyncer/manager/Command.java
  3. 6 0
      dbsyncer-manager/src/main/java/org/dbsyncer/manager/CommandExecutor.java
  4. 1 1
      dbsyncer-manager/src/main/java/org/dbsyncer/manager/GroupStrategy.java
  5. 16 17
      dbsyncer-manager/src/main/java/org/dbsyncer/manager/ManagerFactory.java
  6. 1 1
      dbsyncer-manager/src/main/java/org/dbsyncer/manager/Puller.java
  7. 4 4
      dbsyncer-manager/src/main/java/org/dbsyncer/manager/command/PersistenceCommand.java
  8. 4 4
      dbsyncer-manager/src/main/java/org/dbsyncer/manager/command/PreloadCommand.java
  9. 90 0
      dbsyncer-manager/src/main/java/org/dbsyncer/manager/enums/CommandEnum.java
  10. 1 1
      dbsyncer-manager/src/main/java/org/dbsyncer/manager/enums/GroupStrategyEnum.java
  11. 0 90
      dbsyncer-manager/src/main/java/org/dbsyncer/manager/enums/HandlerEnum.java
  12. 0 25
      dbsyncer-manager/src/main/java/org/dbsyncer/manager/handler/AbstractOperationHandler.java
  13. 0 26
      dbsyncer-manager/src/main/java/org/dbsyncer/manager/handler/AbstractPreloadHandler.java
  14. 138 138
      dbsyncer-manager/src/main/java/org/dbsyncer/manager/model/FieldPicker.java
  15. 11 13
      dbsyncer-manager/src/main/java/org/dbsyncer/manager/model/OperationConfig.java
  16. 1 1
      dbsyncer-manager/src/main/java/org/dbsyncer/manager/model/QueryConfig.java
  17. 1 0
      dbsyncer-manager/src/main/java/org/dbsyncer/manager/puller/AbstractPuller.java
  18. 1 1
      dbsyncer-manager/src/main/java/org/dbsyncer/manager/puller/IncrementPuller.java
  19. 1 1
      dbsyncer-manager/src/main/java/org/dbsyncer/manager/strategy/DefaultGroupStrategy.java
  20. 1 1
      dbsyncer-manager/src/main/java/org/dbsyncer/manager/strategy/TableGroupStrategy.java
  21. 0 4
      dbsyncer-manager/src/main/java/org/dbsyncer/manager/template/Callback.java
  22. 0 6
      dbsyncer-manager/src/main/java/org/dbsyncer/manager/template/Handler.java
  23. 10 14
      dbsyncer-manager/src/main/java/org/dbsyncer/manager/template/OperationTemplate.java
  24. 24 27
      dbsyncer-manager/src/main/java/org/dbsyncer/manager/template/PreloadTemplate.java

+ 1 - 1
dbsyncer-biz/src/main/java/org/dbsyncer/biz/impl/ConfigServiceImpl.java

@@ -6,7 +6,7 @@ import org.dbsyncer.biz.checker.Checker;
 import org.dbsyncer.biz.vo.ConfigVo;
 import org.dbsyncer.biz.vo.ConfigVo;
 import org.dbsyncer.common.util.CollectionUtils;
 import org.dbsyncer.common.util.CollectionUtils;
 import org.dbsyncer.manager.Manager;
 import org.dbsyncer.manager.Manager;
-import org.dbsyncer.manager.template.impl.PreloadTemplate;
+import org.dbsyncer.manager.template.PreloadTemplate;
 import org.dbsyncer.parser.logger.LogService;
 import org.dbsyncer.parser.logger.LogService;
 import org.dbsyncer.parser.logger.LogType;
 import org.dbsyncer.parser.logger.LogType;
 import org.dbsyncer.parser.model.Config;
 import org.dbsyncer.parser.model.Config;

+ 4 - 0
dbsyncer-manager/src/main/java/org/dbsyncer/manager/Command.java

@@ -0,0 +1,4 @@
+package org.dbsyncer.manager;
+
+public interface Command {
+}

+ 6 - 0
dbsyncer-manager/src/main/java/org/dbsyncer/manager/CommandExecutor.java

@@ -0,0 +1,6 @@
+package org.dbsyncer.manager;
+
+public interface CommandExecutor {
+
+    Object execute(Command cmd);
+}

+ 1 - 1
dbsyncer-manager/src/main/java/org/dbsyncer/manager/template/GroupStrategy.java → dbsyncer-manager/src/main/java/org/dbsyncer/manager/GroupStrategy.java

@@ -1,4 +1,4 @@
-package org.dbsyncer.manager.template;
+package org.dbsyncer.manager;
 
 
 import org.dbsyncer.parser.model.ConfigModel;
 import org.dbsyncer.parser.model.ConfigModel;
 
 

+ 16 - 17
dbsyncer-manager/src/main/java/org/dbsyncer/manager/ManagerFactory.java

@@ -11,12 +11,11 @@ import org.dbsyncer.connector.enums.OperationEnum;
 import org.dbsyncer.connector.model.MetaInfo;
 import org.dbsyncer.connector.model.MetaInfo;
 import org.dbsyncer.connector.model.Table;
 import org.dbsyncer.connector.model.Table;
 import org.dbsyncer.listener.enums.QuartzFilterEnum;
 import org.dbsyncer.listener.enums.QuartzFilterEnum;
-import org.dbsyncer.manager.config.OperationConfig;
-import org.dbsyncer.manager.config.QueryConfig;
+import org.dbsyncer.manager.enums.CommandEnum;
 import org.dbsyncer.manager.enums.GroupStrategyEnum;
 import org.dbsyncer.manager.enums.GroupStrategyEnum;
-import org.dbsyncer.manager.enums.HandlerEnum;
-import org.dbsyncer.manager.puller.Puller;
-import org.dbsyncer.manager.template.impl.OperationTemplate;
+import org.dbsyncer.manager.model.OperationConfig;
+import org.dbsyncer.manager.model.QueryConfig;
+import org.dbsyncer.manager.template.OperationTemplate;
 import org.dbsyncer.parser.Parser;
 import org.dbsyncer.parser.Parser;
 import org.dbsyncer.parser.enums.ConvertEnum;
 import org.dbsyncer.parser.enums.ConvertEnum;
 import org.dbsyncer.parser.enums.MetaEnum;
 import org.dbsyncer.parser.enums.MetaEnum;
@@ -70,12 +69,12 @@ public class ManagerFactory implements Manager, ApplicationListener<ClosedEvent>
 
 
     @Override
     @Override
     public String addProjectGroup(ConfigModel model) {
     public String addProjectGroup(ConfigModel model) {
-        return operationTemplate.execute(new OperationConfig(model, HandlerEnum.OPR_ADD));
+        return operationTemplate.execute(new OperationConfig(model, CommandEnum.OPR_ADD));
     }
     }
 
 
     @Override
     @Override
     public String editProjectGroup(ConfigModel model) {
     public String editProjectGroup(ConfigModel model) {
-        return operationTemplate.execute(new OperationConfig(model, HandlerEnum.OPR_EDIT));
+        return operationTemplate.execute(new OperationConfig(model, CommandEnum.OPR_EDIT));
     }
     }
 
 
     @Override
     @Override
@@ -124,12 +123,12 @@ public class ManagerFactory implements Manager, ApplicationListener<ClosedEvent>
 
 
     @Override
     @Override
     public String addConnector(ConfigModel model) {
     public String addConnector(ConfigModel model) {
-        return operationTemplate.execute(new OperationConfig(model, HandlerEnum.OPR_ADD));
+        return operationTemplate.execute(new OperationConfig(model, CommandEnum.OPR_ADD));
     }
     }
 
 
     @Override
     @Override
     public String editConnector(ConfigModel model) {
     public String editConnector(ConfigModel model) {
-        return operationTemplate.execute(new OperationConfig(model, HandlerEnum.OPR_EDIT));
+        return operationTemplate.execute(new OperationConfig(model, CommandEnum.OPR_EDIT));
     }
     }
 
 
     @Override
     @Override
@@ -168,12 +167,12 @@ public class ManagerFactory implements Manager, ApplicationListener<ClosedEvent>
 
 
     @Override
     @Override
     public String addMapping(ConfigModel model) {
     public String addMapping(ConfigModel model) {
-        return operationTemplate.execute(new OperationConfig(model, HandlerEnum.OPR_ADD));
+        return operationTemplate.execute(new OperationConfig(model, CommandEnum.OPR_ADD));
     }
     }
 
 
     @Override
     @Override
     public String editMapping(ConfigModel model) {
     public String editMapping(ConfigModel model) {
-        return operationTemplate.execute(new OperationConfig(model, HandlerEnum.OPR_EDIT));
+        return operationTemplate.execute(new OperationConfig(model, CommandEnum.OPR_EDIT));
     }
     }
 
 
     @Override
     @Override
@@ -197,12 +196,12 @@ public class ManagerFactory implements Manager, ApplicationListener<ClosedEvent>
 
 
     @Override
     @Override
     public String addTableGroup(ConfigModel model) {
     public String addTableGroup(ConfigModel model) {
-        return operationTemplate.execute(new OperationConfig(model, HandlerEnum.OPR_ADD, GroupStrategyEnum.TABLE));
+        return operationTemplate.execute(new OperationConfig(model, CommandEnum.OPR_ADD, GroupStrategyEnum.TABLE));
     }
     }
 
 
     @Override
     @Override
     public String editTableGroup(ConfigModel model) {
     public String editTableGroup(ConfigModel model) {
-        return operationTemplate.execute(new OperationConfig(model, HandlerEnum.OPR_EDIT, GroupStrategyEnum.TABLE));
+        return operationTemplate.execute(new OperationConfig(model, CommandEnum.OPR_EDIT, GroupStrategyEnum.TABLE));
     }
     }
 
 
     @Override
     @Override
@@ -255,12 +254,12 @@ public class ManagerFactory implements Manager, ApplicationListener<ClosedEvent>
 
 
     @Override
     @Override
     public String addMeta(ConfigModel model) {
     public String addMeta(ConfigModel model) {
-        return operationTemplate.execute(new OperationConfig(model, HandlerEnum.OPR_ADD));
+        return operationTemplate.execute(new OperationConfig(model, CommandEnum.OPR_ADD));
     }
     }
 
 
     @Override
     @Override
     public String editMeta(ConfigModel model) {
     public String editMeta(ConfigModel model) {
-        return operationTemplate.execute(new OperationConfig(model, HandlerEnum.OPR_EDIT));
+        return operationTemplate.execute(new OperationConfig(model, CommandEnum.OPR_EDIT));
     }
     }
 
 
     @Override
     @Override
@@ -283,12 +282,12 @@ public class ManagerFactory implements Manager, ApplicationListener<ClosedEvent>
 
 
     @Override
     @Override
     public String addConfig(ConfigModel model) {
     public String addConfig(ConfigModel model) {
-        return operationTemplate.execute(new OperationConfig(model, HandlerEnum.OPR_ADD));
+        return operationTemplate.execute(new OperationConfig(model, CommandEnum.OPR_ADD));
     }
     }
 
 
     @Override
     @Override
     public String editConfig(ConfigModel model) {
     public String editConfig(ConfigModel model) {
-        return operationTemplate.execute(new OperationConfig(model, HandlerEnum.OPR_EDIT));
+        return operationTemplate.execute(new OperationConfig(model, CommandEnum.OPR_EDIT));
     }
     }
 
 
     @Override
     @Override

+ 1 - 1
dbsyncer-manager/src/main/java/org/dbsyncer/manager/puller/Puller.java → dbsyncer-manager/src/main/java/org/dbsyncer/manager/Puller.java

@@ -1,4 +1,4 @@
-package org.dbsyncer.manager.puller;
+package org.dbsyncer.manager;
 
 
 import org.dbsyncer.parser.model.Mapping;
 import org.dbsyncer.parser.model.Mapping;
 
 

+ 4 - 4
dbsyncer-manager/src/main/java/org/dbsyncer/manager/config/OperationCallBack.java → dbsyncer-manager/src/main/java/org/dbsyncer/manager/command/PersistenceCommand.java

@@ -1,12 +1,12 @@
-package org.dbsyncer.manager.config;
+package org.dbsyncer.manager.command;
 
 
-import org.dbsyncer.manager.template.Callback;
+import org.dbsyncer.manager.Command;
 import org.dbsyncer.storage.StorageService;
 import org.dbsyncer.storage.StorageService;
 import org.dbsyncer.storage.enums.StorageEnum;
 import org.dbsyncer.storage.enums.StorageEnum;
 
 
 import java.util.Map;
 import java.util.Map;
 
 
-public class OperationCallBack extends Callback {
+public class PersistenceCommand implements Command {
 
 
     private StorageService storageService;
     private StorageService storageService;
 
 
@@ -14,7 +14,7 @@ public class OperationCallBack extends Callback {
 
 
     private Map params;
     private Map params;
 
 
-    public OperationCallBack(StorageService storageService, StorageEnum type, Map params) {
+    public PersistenceCommand(StorageService storageService, StorageEnum type, Map params) {
         this.storageService = storageService;
         this.storageService = storageService;
         this.type = type;
         this.type = type;
         this.params = params;
         this.params = params;

+ 4 - 4
dbsyncer-manager/src/main/java/org/dbsyncer/manager/config/PreloadCallBack.java → dbsyncer-manager/src/main/java/org/dbsyncer/manager/command/PreloadCommand.java

@@ -1,16 +1,16 @@
-package org.dbsyncer.manager.config;
+package org.dbsyncer.manager.command;
 
 
-import org.dbsyncer.manager.template.Callback;
+import org.dbsyncer.manager.Command;
 import org.dbsyncer.parser.Parser;
 import org.dbsyncer.parser.Parser;
 import org.dbsyncer.parser.model.*;
 import org.dbsyncer.parser.model.*;
 
 
-public class PreloadCallBack extends Callback {
+public class PreloadCommand implements Command {
 
 
     private Parser parser;
     private Parser parser;
 
 
     private String json;
     private String json;
 
 
-    public PreloadCallBack(Parser parser, String json) {
+    public PreloadCommand(Parser parser, String json) {
         this.parser = parser;
         this.parser = parser;
         this.json = json;
         this.json = json;
     }
     }

+ 90 - 0
dbsyncer-manager/src/main/java/org/dbsyncer/manager/enums/CommandEnum.java

@@ -0,0 +1,90 @@
+package org.dbsyncer.manager.enums;
+
+import org.dbsyncer.manager.CommandExecutor;
+import org.dbsyncer.manager.command.PersistenceCommand;
+import org.dbsyncer.manager.command.PreloadCommand;
+import org.dbsyncer.storage.constant.ConfigConstant;
+
+/**
+ * @author AE86
+ * @version 1.0.0
+ * @date 2020/04/24 14:19
+ */
+public enum CommandEnum {
+
+    /**
+     * 添加
+     */
+    OPR_ADD("add", (cmd) -> ((PersistenceCommand) cmd).add()),
+
+    /**
+     * 修改
+     */
+    OPR_EDIT("edit", (cmd) -> ((PersistenceCommand) cmd).edit()),
+
+    /**
+     * 预加载Connector
+     */
+    PRELOAD_CONNECTOR(ConfigConstant.CONNECTOR, true, (cmd) -> ((PreloadCommand) cmd).parseConnector()),
+
+    /**
+     * 预加载Mapping
+     */
+    PRELOAD_MAPPING(ConfigConstant.MAPPING, true, (cmd) -> ((PreloadCommand) cmd).parseMapping()),
+
+    /**
+     * 预加载TableGroup
+     */
+    PRELOAD_TABLE_GROUP(ConfigConstant.TABLE_GROUP, true, GroupStrategyEnum.TABLE, (cmd) -> ((PreloadCommand) cmd).parseTableGroup()),
+
+    /**
+     * 预加载Meta
+     */
+    PRELOAD_META(ConfigConstant.META, true, (cmd) -> ((PreloadCommand) cmd).parseMeta()),
+
+    /**
+     * 预加载Config
+     */
+    PRELOAD_CONFIG(ConfigConstant.CONFIG, true, (cmd) -> ((PreloadCommand) cmd).parseConfig()),
+
+    /**
+     * 预加载ProjectGroup
+     */
+    PRELOAD_PROJECT_GROUP(ConfigConstant.PROJECT_GROUP, true, (cmd) -> ((PreloadCommand) cmd).parseProjectGroup());
+
+    private String modelType;
+    private boolean preload;
+    private CommandExecutor commandExecutor;
+    private GroupStrategyEnum groupStrategyEnum;
+
+    CommandEnum(String modelType, CommandExecutor commandExecutor) {
+        this(modelType, false, commandExecutor);
+    }
+
+    CommandEnum(String modelType, boolean preload, CommandExecutor commandExecutor) {
+        this(modelType, preload, GroupStrategyEnum.DEFAULT, commandExecutor);
+    }
+
+    CommandEnum(String modelType, boolean preload, GroupStrategyEnum groupStrategyEnum, CommandExecutor commandExecutor) {
+        this.modelType = modelType;
+        this.preload = preload;
+        this.groupStrategyEnum = groupStrategyEnum;
+        this.commandExecutor = commandExecutor;
+    }
+
+    public String getModelType() {
+        return modelType;
+    }
+
+    public boolean isPreload() {
+        return preload;
+    }
+
+    public CommandExecutor getCommandExecutor() {
+        return commandExecutor;
+    }
+
+    public GroupStrategyEnum getGroupStrategyEnum() {
+        return groupStrategyEnum;
+    }
+}

+ 1 - 1
dbsyncer-manager/src/main/java/org/dbsyncer/manager/enums/GroupStrategyEnum.java

@@ -1,8 +1,8 @@
 package org.dbsyncer.manager.enums;
 package org.dbsyncer.manager.enums;
 
 
+import org.dbsyncer.manager.GroupStrategy;
 import org.dbsyncer.manager.strategy.DefaultGroupStrategy;
 import org.dbsyncer.manager.strategy.DefaultGroupStrategy;
 import org.dbsyncer.manager.strategy.TableGroupStrategy;
 import org.dbsyncer.manager.strategy.TableGroupStrategy;
-import org.dbsyncer.manager.template.GroupStrategy;
 
 
 /**
 /**
  * @author AE86
  * @author AE86

+ 0 - 90
dbsyncer-manager/src/main/java/org/dbsyncer/manager/enums/HandlerEnum.java

@@ -1,90 +0,0 @@
-package org.dbsyncer.manager.enums;
-
-import org.dbsyncer.manager.config.OperationCallBack;
-import org.dbsyncer.manager.config.PreloadCallBack;
-import org.dbsyncer.manager.template.Handler;
-import org.dbsyncer.storage.constant.ConfigConstant;
-
-/**
- * @author AE86
- * @version 1.0.0
- * @date 2020/04/24 14:19
- */
-public enum HandlerEnum {
-
-    /**
-     * 添加
-     */
-    OPR_ADD("add", (callback) -> ((OperationCallBack) callback).add()),
-
-    /**
-     * 修改
-     */
-    OPR_EDIT("edit", (callback) -> ((OperationCallBack) callback).edit()),
-
-    /**
-     * 预加载Connector
-     */
-    PRELOAD_CONNECTOR(ConfigConstant.CONNECTOR, true, (callback) -> ((PreloadCallBack) callback).parseConnector()),
-
-    /**
-     * 预加载Mapping
-     */
-    PRELOAD_MAPPING(ConfigConstant.MAPPING, true, (callback) -> ((PreloadCallBack) callback).parseMapping()),
-
-    /**
-     * 预加载TableGroup
-     */
-    PRELOAD_TABLE_GROUP(ConfigConstant.TABLE_GROUP, true, GroupStrategyEnum.TABLE, (callback) -> ((PreloadCallBack) callback).parseTableGroup()),
-
-    /**
-     * 预加载Meta
-     */
-    PRELOAD_META(ConfigConstant.META, true, (callback) -> ((PreloadCallBack) callback).parseMeta()),
-
-    /**
-     * 预加载Config
-     */
-    PRELOAD_CONFIG(ConfigConstant.CONFIG, true, (callback) -> ((PreloadCallBack) callback).parseConfig()),
-
-    /**
-     * 预加载ProjectGroup
-     */
-    PRELOAD_PROJECT_GROUP(ConfigConstant.PROJECT_GROUP, true, (callback) -> ((PreloadCallBack) callback).parseProjectGroup());
-
-    private String modelType;
-    private boolean preload;
-    private Handler handler;
-    private GroupStrategyEnum groupStrategyEnum;
-
-    HandlerEnum(String modelType, Handler handler) {
-        this(modelType, false, handler);
-    }
-
-    HandlerEnum(String modelType, boolean preload, Handler handler) {
-        this(modelType, preload, GroupStrategyEnum.DEFAULT, handler);
-    }
-
-    HandlerEnum(String modelType, boolean preload, GroupStrategyEnum groupStrategyEnum, Handler handler) {
-        this.modelType = modelType;
-        this.preload = preload;
-        this.groupStrategyEnum = groupStrategyEnum;
-        this.handler = handler;
-    }
-
-    public String getModelType() {
-        return modelType;
-    }
-
-    public boolean isPreload() {
-        return preload;
-    }
-
-    public Handler getHandler() {
-        return handler;
-    }
-
-    public GroupStrategyEnum getGroupStrategyEnum() {
-        return groupStrategyEnum;
-    }
-}

+ 0 - 25
dbsyncer-manager/src/main/java/org/dbsyncer/manager/handler/AbstractOperationHandler.java

@@ -1,25 +0,0 @@
-package org.dbsyncer.manager.handler;
-
-import org.dbsyncer.manager.config.OperationCallBack;
-import org.dbsyncer.manager.template.Callback;
-import org.dbsyncer.manager.template.Handler;
-
-public abstract class AbstractOperationHandler implements Handler {
-
-    /**
-     * 交给实现handler处理
-     *
-     * @param operationCallBack
-     * @return
-     */
-    protected abstract void handle(OperationCallBack operationCallBack);
-
-    @Override
-    public Object execute(Callback call) {
-        if (null != call && call instanceof OperationCallBack) {
-            handle((OperationCallBack) call);
-        }
-        return null;
-    }
-
-}

+ 0 - 26
dbsyncer-manager/src/main/java/org/dbsyncer/manager/handler/AbstractPreloadHandler.java

@@ -1,26 +0,0 @@
-package org.dbsyncer.manager.handler;
-
-import org.dbsyncer.manager.config.PreloadCallBack;
-import org.dbsyncer.manager.template.Callback;
-import org.dbsyncer.manager.template.Handler;
-
-public abstract class AbstractPreloadHandler implements Handler {
-
-    /**
-     * 交给实现handler处理
-     *
-     * @param preloadCallBack
-     * @return
-     */
-    protected abstract Object preload(PreloadCallBack preloadCallBack);
-
-    @Override
-    public Object execute(Callback call) {
-        if (null != call && call instanceof PreloadCallBack) {
-            PreloadCallBack preloadCallBack = (PreloadCallBack) call;
-            return preload(preloadCallBack);
-        }
-        return null;
-    }
-
-}

+ 138 - 138
dbsyncer-manager/src/main/java/org/dbsyncer/manager/config/FieldPicker.java → dbsyncer-manager/src/main/java/org/dbsyncer/manager/model/FieldPicker.java

@@ -1,139 +1,139 @@
-package org.dbsyncer.manager.config;
-
-import org.dbsyncer.common.util.CollectionUtils;
-import org.dbsyncer.common.util.StringUtil;
-import org.dbsyncer.connector.CompareFilter;
-import org.dbsyncer.connector.model.Field;
-import org.dbsyncer.connector.model.Filter;
-import org.dbsyncer.connector.enums.FilterEnum;
-import org.dbsyncer.connector.enums.OperationEnum;
-import org.dbsyncer.parser.model.FieldMapping;
-import org.dbsyncer.parser.model.TableGroup;
-import org.springframework.util.Assert;
-
-import java.util.*;
-import java.util.stream.Collectors;
-
-public class FieldPicker {
-
-    private TableGroup tableGroup;
-    private List<Field> pkList;
-    private List<Node> index;
-    private int indexSize;
-    private boolean filterSwitch;
-    private List<Filter> add;
-    private List<Filter> or;
-
-    public FieldPicker(TableGroup tableGroup) {
-        this.tableGroup = tableGroup;
-    }
-
-    public FieldPicker(TableGroup tableGroup, List<Field> pkList, List<Filter> filter, List<Field> column, List<FieldMapping> fieldMapping) {
-        this.tableGroup = tableGroup;
-        this.pkList = pkList;
-        init(filter, column, fieldMapping);
-    }
-
-    public Map<String, Object> getColumns(List<Object> list) {
-        if (!CollectionUtils.isEmpty(list)) {
-            Map<String, Object> data = new HashMap<>(indexSize);
-            final int size = list.size() - 1;
-            index.forEach(node -> {
-                if (node.i <= size) {
-                    data.put(node.name, list.get(node.i));
-                }
-            });
-            return data;
-        }
-        return Collections.EMPTY_MAP;
-    }
-
-    /**
-     * 根据过滤条件过滤
-     *
-     * @param row
-     * @return
-     */
-    public boolean filter(Map<String, Object> row) {
-        if (!filterSwitch) {
-            return true;
-        }
-        // where (id > 1 and id < 100) or (id = 100 or id =101)
-        // 或 关系(成立任意条件)
-        CompareFilter filter = null;
-        Object value = null;
-        for (Filter f : or) {
-            value = row.get(f.getName());
-            if (null == value) {
-                continue;
-            }
-            filter = FilterEnum.getCompareFilter(f.getFilter());
-            if (filter.compare(String.valueOf(value), f.getValue())) {
-                return true;
-            }
-        }
-
-        boolean pass = false;
-        // 并 关系(成立所有条件)
-        for (Filter f : add) {
-            value = row.get(f.getName());
-            if (null == value) {
-                continue;
-            }
-            filter = FilterEnum.getCompareFilter(f.getFilter());
-            if (!filter.compare(String.valueOf(value), f.getValue())) {
-                return false;
-            }
-            pass = true;
-        }
-
-        return pass;
-    }
-
-    private void init(List<Filter> filter, List<Field> column, List<FieldMapping> fieldMapping) {
-        // column  => [1, 86, 0, 中文, 2020-05-15T12:17:22.000+0800, 备注信息]
-        Assert.notEmpty(column, "读取字段不能为空.");
-        Assert.notEmpty(fieldMapping, "映射关系不能为空.");
-
-        // 解析过滤条件
-        if ((filterSwitch = !CollectionUtils.isEmpty(filter))) {
-            add = filter.stream().filter(f -> StringUtil.equals(f.getOperation(), OperationEnum.AND.getName())).collect(
-                    Collectors.toList());
-            or = filter.stream().filter(f -> StringUtil.equals(f.getOperation(), OperationEnum.OR.getName())).collect(Collectors.toList());
-        }
-
-        // 记录字段索引 [{"ID":0},{"NAME":1}]
-        index = new LinkedList<>();
-        int size = column.size();
-        String k = null;
-        Field field = null;
-        for (int i = 0; i < size; i++) {
-            field = column.get(i);
-            k = field.isUnmodifiabled() ? field.getLabelName() : field.getName();
-            index.add(new Node(k, i));
-        }
-        Assert.notEmpty(index, "同步映射关系不能为空.");
-        this.indexSize = index.size();
-    }
-
-    public TableGroup getTableGroup() {
-        return tableGroup;
-    }
-
-    public String getPk() {
-        return pkList.get(0).getName();
-    }
-
-    final class Node {
-        // 属性
-        String name;
-        // 索引
-        int i;
-
-        public Node(String name, int i) {
-            this.name = name;
-            this.i = i;
-        }
-    }
-
+package org.dbsyncer.manager.model;
+
+import org.dbsyncer.common.util.CollectionUtils;
+import org.dbsyncer.common.util.StringUtil;
+import org.dbsyncer.connector.CompareFilter;
+import org.dbsyncer.connector.enums.FilterEnum;
+import org.dbsyncer.connector.enums.OperationEnum;
+import org.dbsyncer.connector.model.Field;
+import org.dbsyncer.connector.model.Filter;
+import org.dbsyncer.parser.model.FieldMapping;
+import org.dbsyncer.parser.model.TableGroup;
+import org.springframework.util.Assert;
+
+import java.util.*;
+import java.util.stream.Collectors;
+
+public class FieldPicker {
+
+    private TableGroup tableGroup;
+    private List<Field> pkList;
+    private List<Node> index;
+    private int indexSize;
+    private boolean filterSwitch;
+    private List<Filter> add;
+    private List<Filter> or;
+
+    public FieldPicker(TableGroup tableGroup) {
+        this.tableGroup = tableGroup;
+    }
+
+    public FieldPicker(TableGroup tableGroup, List<Field> pkList, List<Filter> filter, List<Field> column, List<FieldMapping> fieldMapping) {
+        this.tableGroup = tableGroup;
+        this.pkList = pkList;
+        init(filter, column, fieldMapping);
+    }
+
+    public Map<String, Object> getColumns(List<Object> list) {
+        if (!CollectionUtils.isEmpty(list)) {
+            Map<String, Object> data = new HashMap<>(indexSize);
+            final int size = list.size() - 1;
+            index.forEach(node -> {
+                if (node.i <= size) {
+                    data.put(node.name, list.get(node.i));
+                }
+            });
+            return data;
+        }
+        return Collections.EMPTY_MAP;
+    }
+
+    /**
+     * 根据过滤条件过滤
+     *
+     * @param row
+     * @return
+     */
+    public boolean filter(Map<String, Object> row) {
+        if (!filterSwitch) {
+            return true;
+        }
+        // where (id > 1 and id < 100) or (id = 100 or id =101)
+        // 或 关系(成立任意条件)
+        CompareFilter filter = null;
+        Object value = null;
+        for (Filter f : or) {
+            value = row.get(f.getName());
+            if (null == value) {
+                continue;
+            }
+            filter = FilterEnum.getCompareFilter(f.getFilter());
+            if (filter.compare(String.valueOf(value), f.getValue())) {
+                return true;
+            }
+        }
+
+        boolean pass = false;
+        // 并 关系(成立所有条件)
+        for (Filter f : add) {
+            value = row.get(f.getName());
+            if (null == value) {
+                continue;
+            }
+            filter = FilterEnum.getCompareFilter(f.getFilter());
+            if (!filter.compare(String.valueOf(value), f.getValue())) {
+                return false;
+            }
+            pass = true;
+        }
+
+        return pass;
+    }
+
+    private void init(List<Filter> filter, List<Field> column, List<FieldMapping> fieldMapping) {
+        // column  => [1, 86, 0, 中文, 2020-05-15T12:17:22.000+0800, 备注信息]
+        Assert.notEmpty(column, "读取字段不能为空.");
+        Assert.notEmpty(fieldMapping, "映射关系不能为空.");
+
+        // 解析过滤条件
+        if ((filterSwitch = !CollectionUtils.isEmpty(filter))) {
+            add = filter.stream().filter(f -> StringUtil.equals(f.getOperation(), OperationEnum.AND.getName())).collect(
+                    Collectors.toList());
+            or = filter.stream().filter(f -> StringUtil.equals(f.getOperation(), OperationEnum.OR.getName())).collect(Collectors.toList());
+        }
+
+        // 记录字段索引 [{"ID":0},{"NAME":1}]
+        index = new LinkedList<>();
+        int size = column.size();
+        String k = null;
+        Field field = null;
+        for (int i = 0; i < size; i++) {
+            field = column.get(i);
+            k = field.isUnmodifiabled() ? field.getLabelName() : field.getName();
+            index.add(new Node(k, i));
+        }
+        Assert.notEmpty(index, "同步映射关系不能为空.");
+        this.indexSize = index.size();
+    }
+
+    public TableGroup getTableGroup() {
+        return tableGroup;
+    }
+
+    public String getPk() {
+        return pkList.get(0).getName();
+    }
+
+    final class Node {
+        // 属性
+        String name;
+        // 索引
+        int i;
+
+        public Node(String name, int i) {
+            this.name = name;
+            this.i = i;
+        }
+    }
+
 }
 }

+ 11 - 13
dbsyncer-manager/src/main/java/org/dbsyncer/manager/config/OperationConfig.java → dbsyncer-manager/src/main/java/org/dbsyncer/manager/model/OperationConfig.java

@@ -1,8 +1,7 @@
-package org.dbsyncer.manager.config;
+package org.dbsyncer.manager.model;
 
 
+import org.dbsyncer.manager.enums.CommandEnum;
 import org.dbsyncer.manager.enums.GroupStrategyEnum;
 import org.dbsyncer.manager.enums.GroupStrategyEnum;
-import org.dbsyncer.manager.enums.HandlerEnum;
-import org.dbsyncer.manager.template.Handler;
 import org.dbsyncer.parser.model.ConfigModel;
 import org.dbsyncer.parser.model.ConfigModel;
 
 
 public class OperationConfig {
 public class OperationConfig {
@@ -11,12 +10,12 @@ public class OperationConfig {
 
 
     private ConfigModel model;
     private ConfigModel model;
 
 
-    private GroupStrategyEnum groupStrategyEnum = GroupStrategyEnum.DEFAULT;
+    private GroupStrategyEnum groupStrategyEnum;
 
 
-    private HandlerEnum handlerEnum;
+    private CommandEnum commandEnum;
 
 
     public OperationConfig(String id) {
     public OperationConfig(String id) {
-        this.id = id;
+        this(id, GroupStrategyEnum.DEFAULT);
     }
     }
 
 
     public OperationConfig(String id, GroupStrategyEnum groupStrategyEnum) {
     public OperationConfig(String id, GroupStrategyEnum groupStrategyEnum) {
@@ -24,14 +23,13 @@ public class OperationConfig {
         this.groupStrategyEnum = groupStrategyEnum;
         this.groupStrategyEnum = groupStrategyEnum;
     }
     }
 
 
-    public OperationConfig(ConfigModel model, HandlerEnum handlerEnum) {
-        this.model = model;
-        this.handlerEnum = handlerEnum;
+    public OperationConfig(ConfigModel model, CommandEnum commandEnum) {
+        this(model, commandEnum, GroupStrategyEnum.DEFAULT);
     }
     }
 
 
-    public OperationConfig(ConfigModel model, HandlerEnum handlerEnum, GroupStrategyEnum groupStrategyEnum) {
+    public OperationConfig(ConfigModel model, CommandEnum commandEnum, GroupStrategyEnum groupStrategyEnum) {
         this.model = model;
         this.model = model;
-        this.handlerEnum = handlerEnum;
+        this.commandEnum = commandEnum;
         this.groupStrategyEnum = groupStrategyEnum;
         this.groupStrategyEnum = groupStrategyEnum;
     }
     }
 
 
@@ -47,7 +45,7 @@ public class OperationConfig {
         return groupStrategyEnum;
         return groupStrategyEnum;
     }
     }
 
 
-    public Handler getHandler() {
-        return handlerEnum.getHandler();
+    public CommandEnum getCommandEnum() {
+        return commandEnum;
     }
     }
 }
 }

+ 1 - 1
dbsyncer-manager/src/main/java/org/dbsyncer/manager/config/QueryConfig.java → dbsyncer-manager/src/main/java/org/dbsyncer/manager/model/QueryConfig.java

@@ -1,4 +1,4 @@
-package org.dbsyncer.manager.config;
+package org.dbsyncer.manager.model;
 
 
 import org.dbsyncer.manager.enums.GroupStrategyEnum;
 import org.dbsyncer.manager.enums.GroupStrategyEnum;
 import org.dbsyncer.parser.model.ConfigModel;
 import org.dbsyncer.parser.model.ConfigModel;

+ 1 - 0
dbsyncer-manager/src/main/java/org/dbsyncer/manager/puller/AbstractPuller.java

@@ -1,6 +1,7 @@
 package org.dbsyncer.manager.puller;
 package org.dbsyncer.manager.puller;
 
 
 import org.dbsyncer.common.event.ClosedEvent;
 import org.dbsyncer.common.event.ClosedEvent;
+import org.dbsyncer.manager.Puller;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.context.ApplicationContext;
 import org.springframework.context.ApplicationContext;
 
 

+ 1 - 1
dbsyncer-manager/src/main/java/org/dbsyncer/manager/puller/IncrementPuller.java

@@ -18,7 +18,7 @@ import org.dbsyncer.listener.quartz.AbstractQuartzExtractor;
 import org.dbsyncer.listener.quartz.TableGroupCommand;
 import org.dbsyncer.listener.quartz.TableGroupCommand;
 import org.dbsyncer.manager.Manager;
 import org.dbsyncer.manager.Manager;
 import org.dbsyncer.manager.ManagerException;
 import org.dbsyncer.manager.ManagerException;
-import org.dbsyncer.manager.config.FieldPicker;
+import org.dbsyncer.manager.model.FieldPicker;
 import org.dbsyncer.parser.Parser;
 import org.dbsyncer.parser.Parser;
 import org.dbsyncer.parser.logger.LogService;
 import org.dbsyncer.parser.logger.LogService;
 import org.dbsyncer.parser.logger.LogType;
 import org.dbsyncer.parser.logger.LogType;

+ 1 - 1
dbsyncer-manager/src/main/java/org/dbsyncer/manager/strategy/DefaultGroupStrategy.java

@@ -1,6 +1,6 @@
 package org.dbsyncer.manager.strategy;
 package org.dbsyncer.manager.strategy;
 
 
-import org.dbsyncer.manager.template.GroupStrategy;
+import org.dbsyncer.manager.GroupStrategy;
 import org.dbsyncer.parser.model.ConfigModel;
 import org.dbsyncer.parser.model.ConfigModel;
 
 
 /**
 /**

+ 1 - 1
dbsyncer-manager/src/main/java/org/dbsyncer/manager/strategy/TableGroupStrategy.java

@@ -1,7 +1,7 @@
 package org.dbsyncer.manager.strategy;
 package org.dbsyncer.manager.strategy;
 
 
+import org.dbsyncer.manager.GroupStrategy;
 import org.dbsyncer.manager.ManagerException;
 import org.dbsyncer.manager.ManagerException;
-import org.dbsyncer.manager.template.GroupStrategy;
 import org.dbsyncer.parser.model.ConfigModel;
 import org.dbsyncer.parser.model.ConfigModel;
 import org.dbsyncer.parser.model.Mapping;
 import org.dbsyncer.parser.model.Mapping;
 import org.dbsyncer.parser.model.TableGroup;
 import org.dbsyncer.parser.model.TableGroup;

+ 0 - 4
dbsyncer-manager/src/main/java/org/dbsyncer/manager/template/Callback.java

@@ -1,4 +0,0 @@
-package org.dbsyncer.manager.template;
-
-public abstract class Callback {
-}

+ 0 - 6
dbsyncer-manager/src/main/java/org/dbsyncer/manager/template/Handler.java

@@ -1,6 +0,0 @@
-package org.dbsyncer.manager.template;
-
-public interface Handler<C extends Callback> {
-
-    Object execute(C callback);
-}

+ 10 - 14
dbsyncer-manager/src/main/java/org/dbsyncer/manager/template/impl/OperationTemplate.java → dbsyncer-manager/src/main/java/org/dbsyncer/manager/template/OperationTemplate.java

@@ -1,15 +1,15 @@
-package org.dbsyncer.manager.template.impl;
+package org.dbsyncer.manager.template;
 
 
 import org.dbsyncer.cache.CacheService;
 import org.dbsyncer.cache.CacheService;
 import org.dbsyncer.common.util.CollectionUtils;
 import org.dbsyncer.common.util.CollectionUtils;
 import org.dbsyncer.common.util.StringUtil;
 import org.dbsyncer.common.util.StringUtil;
+import org.dbsyncer.manager.GroupStrategy;
 import org.dbsyncer.manager.ManagerException;
 import org.dbsyncer.manager.ManagerException;
-import org.dbsyncer.manager.config.OperationCallBack;
-import org.dbsyncer.manager.config.OperationConfig;
-import org.dbsyncer.manager.config.QueryConfig;
+import org.dbsyncer.manager.command.PersistenceCommand;
+import org.dbsyncer.manager.enums.CommandEnum;
 import org.dbsyncer.manager.enums.GroupStrategyEnum;
 import org.dbsyncer.manager.enums.GroupStrategyEnum;
-import org.dbsyncer.manager.template.GroupStrategy;
-import org.dbsyncer.manager.template.Handler;
+import org.dbsyncer.manager.model.OperationConfig;
+import org.dbsyncer.manager.model.QueryConfig;
 import org.dbsyncer.parser.model.ConfigModel;
 import org.dbsyncer.parser.model.ConfigModel;
 import org.dbsyncer.parser.util.ConfigModelUtil;
 import org.dbsyncer.parser.util.ConfigModelUtil;
 import org.dbsyncer.storage.StorageService;
 import org.dbsyncer.storage.StorageService;
@@ -21,11 +21,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 import org.springframework.stereotype.Component;
 import org.springframework.util.Assert;
 import org.springframework.util.Assert;
 
 
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 
 
 /**
 /**
  * 操作配置模板
  * 操作配置模板
@@ -89,9 +85,9 @@ public final class OperationTemplate {
         // 2、持久化
         // 2、持久化
         Map<String, Object> params = ConfigModelUtil.convertModelToMap(model);
         Map<String, Object> params = ConfigModelUtil.convertModelToMap(model);
         logger.debug("params:{}", params);
         logger.debug("params:{}", params);
-        Handler handler = config.getHandler();
-        Assert.notNull(handler, "Handler can not be null.");
-        handler.execute(new OperationCallBack(storageService, StorageEnum.CONFIG, params));
+        CommandEnum cmd = config.getCommandEnum();
+        Assert.notNull(cmd, "CommandEnum can not be null.");
+        cmd.getCommandExecutor().execute(new PersistenceCommand(storageService, StorageEnum.CONFIG, params));
 
 
         // 3、缓存
         // 3、缓存
         cache(model, config.getGroupStrategyEnum());
         cache(model, config.getGroupStrategyEnum());

+ 24 - 27
dbsyncer-manager/src/main/java/org/dbsyncer/manager/template/impl/PreloadTemplate.java → dbsyncer-manager/src/main/java/org/dbsyncer/manager/template/PreloadTemplate.java

@@ -1,16 +1,15 @@
-package org.dbsyncer.manager.template.impl;
+package org.dbsyncer.manager.template;
 
 
 import com.alibaba.fastjson.JSONObject;
 import com.alibaba.fastjson.JSONObject;
 import org.dbsyncer.common.model.Paging;
 import org.dbsyncer.common.model.Paging;
 import org.dbsyncer.common.util.CollectionUtils;
 import org.dbsyncer.common.util.CollectionUtils;
 import org.dbsyncer.common.util.JsonUtil;
 import org.dbsyncer.common.util.JsonUtil;
 import org.dbsyncer.manager.Manager;
 import org.dbsyncer.manager.Manager;
-import org.dbsyncer.manager.config.OperationConfig;
-import org.dbsyncer.manager.config.PreloadCallBack;
-import org.dbsyncer.manager.config.QueryConfig;
-import org.dbsyncer.manager.enums.HandlerEnum;
-import org.dbsyncer.manager.template.Handler;
-import org.dbsyncer.manager.template.impl.OperationTemplate.Group;
+import org.dbsyncer.manager.command.PreloadCommand;
+import org.dbsyncer.manager.enums.CommandEnum;
+import org.dbsyncer.manager.model.OperationConfig;
+import org.dbsyncer.manager.model.QueryConfig;
+import org.dbsyncer.manager.template.OperationTemplate.Group;
 import org.dbsyncer.parser.Parser;
 import org.dbsyncer.parser.Parser;
 import org.dbsyncer.parser.enums.MetaEnum;
 import org.dbsyncer.parser.enums.MetaEnum;
 import org.dbsyncer.parser.model.ConfigModel;
 import org.dbsyncer.parser.model.ConfigModel;
@@ -55,10 +54,10 @@ public final class PreloadTemplate implements ApplicationListener<ContextRefresh
     @Autowired
     @Autowired
     private OperationTemplate operationTemplate;
     private OperationTemplate operationTemplate;
 
 
-    public void execute(HandlerEnum handlerEnum) {
+    public void execute(CommandEnum commandEnum) {
         Query query = new Query();
         Query query = new Query();
         query.setType(StorageEnum.CONFIG);
         query.setType(StorageEnum.CONFIG);
-        String modelType = handlerEnum.getModelType();
+        String modelType = commandEnum.getModelType();
         query.addFilter(ConfigConstant.CONFIG_MODEL_TYPE, modelType);
         query.addFilter(ConfigConstant.CONFIG_MODEL_TYPE, modelType);
 
 
         int pageNum = 1;
         int pageNum = 1;
@@ -72,12 +71,11 @@ public final class PreloadTemplate implements ApplicationListener<ContextRefresh
             if (CollectionUtils.isEmpty(data)) {
             if (CollectionUtils.isEmpty(data)) {
                 break;
                 break;
             }
             }
-            Handler handler = handlerEnum.getHandler();
             data.forEach(map -> {
             data.forEach(map -> {
                 String json = (String) map.get(ConfigConstant.CONFIG_MODEL_JSON);
                 String json = (String) map.get(ConfigConstant.CONFIG_MODEL_JSON);
-                ConfigModel model = (ConfigModel) handler.execute(new PreloadCallBack(parser, json));
+                ConfigModel model = (ConfigModel) commandEnum.getCommandExecutor().execute(new PreloadCommand(parser, json));
                 if (null != model) {
                 if (null != model) {
-                    operationTemplate.cache(model, handlerEnum.getGroupStrategyEnum());
+                    operationTemplate.cache(model, commandEnum.getGroupStrategyEnum());
                 }
                 }
             });
             });
             total += paging.getTotal();
             total += paging.getTotal();
@@ -93,23 +91,23 @@ public final class PreloadTemplate implements ApplicationListener<ContextRefresh
         }
         }
 
 
         // Load configs
         // Load configs
-        reload(map, HandlerEnum.PRELOAD_CONFIG);
+        reload(map, CommandEnum.PRELOAD_CONFIG);
         // Load connectors
         // Load connectors
-        reload(map, HandlerEnum.PRELOAD_CONNECTOR);
+        reload(map, CommandEnum.PRELOAD_CONNECTOR);
         // Load mappings
         // Load mappings
-        reload(map, HandlerEnum.PRELOAD_MAPPING);
+        reload(map, CommandEnum.PRELOAD_MAPPING);
         // Load metas
         // Load metas
-        reload(map, HandlerEnum.PRELOAD_META);
+        reload(map, CommandEnum.PRELOAD_META);
         // Load projectGroups
         // Load projectGroups
-        reload(map, HandlerEnum.PRELOAD_PROJECT_GROUP);
+        reload(map, CommandEnum.PRELOAD_PROJECT_GROUP);
         launch();
         launch();
     }
     }
 
 
-    private void reload(Map<String, JSONObject> map, HandlerEnum handlerEnum) {
-        reload(map, handlerEnum, handlerEnum.getModelType());
+    private void reload(Map<String, JSONObject> map, CommandEnum commandEnum) {
+        reload(map, commandEnum, commandEnum.getModelType());
     }
     }
 
 
-    private void reload(Map<String, JSONObject> map, HandlerEnum handlerEnum, String groupId) {
+    private void reload(Map<String, JSONObject> map, CommandEnum commandEnum, String groupId) {
         JSONObject config = map.get(groupId);
         JSONObject config = map.get(groupId);
         Group group = JsonUtil.jsonToObj(config.toJSONString(), Group.class);
         Group group = JsonUtil.jsonToObj(config.toJSONString(), Group.class);
         if (null == group) {
         if (null == group) {
@@ -121,15 +119,14 @@ public final class PreloadTemplate implements ApplicationListener<ContextRefresh
             return;
             return;
         }
         }
 
 
-        Handler handler = handlerEnum.getHandler();
         for (String e : index) {
         for (String e : index) {
             JSONObject m = map.get(e);
             JSONObject m = map.get(e);
-            ConfigModel model = (ConfigModel) handler.execute(new PreloadCallBack(parser, m.toJSONString()));
-            operationTemplate.execute(new OperationConfig(model, HandlerEnum.OPR_ADD, handlerEnum.getGroupStrategyEnum()));
+            ConfigModel model = (ConfigModel) commandEnum.getCommandExecutor().execute(new PreloadCommand(parser, m.toJSONString()));
+            operationTemplate.execute(new OperationConfig(model, CommandEnum.OPR_ADD, commandEnum.getGroupStrategyEnum()));
             // Load tableGroups
             // Load tableGroups
-            if (HandlerEnum.PRELOAD_MAPPING == handlerEnum) {
-                handlerEnum = HandlerEnum.PRELOAD_TABLE_GROUP;
-                reload(map, handlerEnum, operationTemplate.getGroupId(model, handlerEnum.getGroupStrategyEnum()));
+            if (CommandEnum.PRELOAD_MAPPING == commandEnum) {
+                commandEnum = CommandEnum.PRELOAD_TABLE_GROUP;
+                reload(map, commandEnum, operationTemplate.getGroupId(model, commandEnum.getGroupStrategyEnum()));
             }
             }
         }
         }
     }
     }
@@ -155,7 +152,7 @@ public final class PreloadTemplate implements ApplicationListener<ContextRefresh
     @Override
     @Override
     public void onApplicationEvent(ContextRefreshedEvent contextRefreshedEvent) {
     public void onApplicationEvent(ContextRefreshedEvent contextRefreshedEvent) {
         // Load configModels
         // Load configModels
-        Arrays.stream(HandlerEnum.values()).filter(handlerEnum -> handlerEnum.isPreload()).forEach(handlerEnum -> execute(handlerEnum));
+        Arrays.stream(CommandEnum.values()).filter(commandEnum -> commandEnum.isPreload()).forEach(commandEnum -> execute(commandEnum));
 
 
         // Load plugins
         // Load plugins
         manager.loadPlugins();
         manager.loadPlugins();