浏览代码

关闭全量同步线程池

Signed-off-by: AE86 <836391306@qq.com>
AE86 2 年之前
父节点
当前提交
1308324d55

+ 0 - 4
dbsyncer-common/src/main/java/org/dbsyncer/common/util/StringUtil.java

@@ -40,10 +40,6 @@ public abstract class StringUtil {
         return StringUtils.replace(text, searchString, replacement);
     }
 
-    public static String replaceOnce(String text, String searchString, String replacement) {
-        return StringUtils.replaceOnce(text, searchString, replacement);
-    }
-
     public static String join(Iterable<?> iterable, String separator) {
         return StringUtils.join(iterable, separator);
     }

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

@@ -54,18 +54,26 @@ public class FullPuller extends AbstractPuller implements ApplicationListener<Fu
     public void start(Mapping mapping) {
         Thread worker = new Thread(() -> {
             final String metaId = mapping.getMetaId();
+            ExecutorService executor = null;
             try {
                 List<TableGroup> list = manager.getSortedTableGroupAll(mapping.getId());
                 Assert.notEmpty(list, "映射关系不能为空");
                 logger.info("开始全量同步:{}, {}", metaId, mapping.getName());
                 map.putIfAbsent(metaId, new Task(metaId));
-                final ExecutorService executor = Executors.newFixedThreadPool(mapping.getThreadNum());
+                executor = Executors.newFixedThreadPool(mapping.getThreadNum());
                 Task task = map.get(metaId);
                 doTask(task, mapping, list, executor);
             } catch (Exception e) {
                 logger.error(e.getMessage());
                 logService.log(LogType.SystemLog.ERROR, e.getMessage());
             } finally {
+                try {
+                    if(executor != null){
+                        executor.shutdown();
+                    }
+                } catch (Exception e) {
+                    logService.log(LogType.SystemLog.ERROR, e.getMessage());
+                }
                 map.remove(metaId);
                 publishClosedEvent(metaId);
                 logger.info("结束全量同步:{}, {}", metaId, mapping.getName());