AE86 5 lat temu
rodzic
commit
9b763a3b04

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

@@ -88,6 +88,7 @@ public class MonitorServiceImpl implements MonitorService {
 
     @Override
     public String clearData(String id) {
+        Assert.hasText(id, "驱动不存在.");
         manager.clearData(id);
         return "清空同步数据成功";
     }

+ 3 - 2
dbsyncer-listener/src/main/java/org/dbsyncer/listener/extractor/MysqlExtractor.java

@@ -73,7 +73,9 @@ public class MysqlExtractor extends DefaultExtractor {
     @Override
     public void close() {
         try {
-            client.stopQuietly();
+            if(null != client){
+                client.stopQuietly();
+            }
         } catch (Exception e) {
             logger.error("关闭失败:{}", e.getMessage());
         }
@@ -120,7 +122,6 @@ public class MysqlExtractor extends DefaultExtractor {
         // nextPosition
         map.put(BINLOG_FILENAME, client.getBinlogFileName());
         map.put(BINLOG_POSITION, String.valueOf(client.getBinlogPosition()));
-        flushEvent();
     }
 
     final class MysqlEventListener implements BinlogEventListener {

+ 3 - 7
dbsyncer-manager/src/main/java/org/dbsyncer/manager/puller/impl/IncrementPuller.java

@@ -71,7 +71,7 @@ public class IncrementPuller extends AbstractPuller {
             logger.info("启动成功:{}", metaId);
             map.get(metaId).run();
         } catch (Exception e) {
-            finished(metaId);
+            close(metaId);
             logger.error("运行异常,结束任务{}:{}", metaId, e.getMessage());
         }
     }
@@ -82,16 +82,12 @@ public class IncrementPuller extends AbstractPuller {
         if (null != extractor) {
             extractor.clearAllListener();
             extractor.close();
-            finished(metaId);
+            map.remove(metaId);
+            publishClosedEvent(metaId);
             logger.info("关闭成功:{}", metaId);
         }
     }
 
-    private void finished(String metaId) {
-        map.remove(metaId);
-        publishClosedEvent(metaId);
-    }
-
     final class DefaultListener implements Event {
 
         private Mapping mapping;

+ 1 - 1
dbsyncer-web/src/main/java/org/dbsyncer/web/controller/monitor/MonitorController.java

@@ -59,7 +59,7 @@ public class MonitorController extends BaseController {
 
     @PostMapping("/clearData")
     @ResponseBody
-    public RestResult clearData(@RequestParam(value = "id") String id) {
+    public RestResult clearData(String id) {
         try {
             return RestResult.restSuccess(monitorService.clearData(id));
         } catch (Exception e) {