|
@@ -7,9 +7,7 @@ import org.dbsyncer.biz.vo.ConnectorVo;
|
|
import org.dbsyncer.biz.vo.MappingVo;
|
|
import org.dbsyncer.biz.vo.MappingVo;
|
|
import org.dbsyncer.biz.vo.MetaVo;
|
|
import org.dbsyncer.biz.vo.MetaVo;
|
|
import org.dbsyncer.common.util.CollectionUtils;
|
|
import org.dbsyncer.common.util.CollectionUtils;
|
|
-import org.dbsyncer.manager.Manager;
|
|
|
|
import org.dbsyncer.monitor.Monitor;
|
|
import org.dbsyncer.monitor.Monitor;
|
|
-import org.dbsyncer.parser.enums.MetaEnum;
|
|
|
|
import org.dbsyncer.parser.enums.ModelEnum;
|
|
import org.dbsyncer.parser.enums.ModelEnum;
|
|
import org.dbsyncer.parser.model.*;
|
|
import org.dbsyncer.parser.model.*;
|
|
import org.dbsyncer.storage.constant.ConfigConstant;
|
|
import org.dbsyncer.storage.constant.ConfigConstant;
|
|
@@ -31,22 +29,16 @@ import java.util.stream.Collectors;
|
|
* @date 2019/10/17 23:20
|
|
* @date 2019/10/17 23:20
|
|
*/
|
|
*/
|
|
@Service
|
|
@Service
|
|
-public class MappingServiceImpl implements MappingService {
|
|
|
|
|
|
+public class MappingServiceImpl extends BaseServiceImpl implements MappingService {
|
|
|
|
|
|
private final Logger logger = LoggerFactory.getLogger(getClass());
|
|
private final Logger logger = LoggerFactory.getLogger(getClass());
|
|
|
|
|
|
- @Autowired
|
|
|
|
- private Manager manager;
|
|
|
|
-
|
|
|
|
@Autowired
|
|
@Autowired
|
|
private Monitor monitor;
|
|
private Monitor monitor;
|
|
|
|
|
|
@Autowired
|
|
@Autowired
|
|
private Checker mappingChecker;
|
|
private Checker mappingChecker;
|
|
|
|
|
|
- // 驱动启停锁
|
|
|
|
- private final static Object LOCK = new Object();
|
|
|
|
-
|
|
|
|
@Override
|
|
@Override
|
|
public String add(Map<String, String> params) {
|
|
public String add(Map<String, String> params) {
|
|
ConfigModel model = mappingChecker.checkAddConfigModel(params);
|
|
ConfigModel model = mappingChecker.checkAddConfigModel(params);
|
|
@@ -102,8 +94,16 @@ public class MappingServiceImpl implements MappingService {
|
|
@Override
|
|
@Override
|
|
public String start(String id) {
|
|
public String start(String id) {
|
|
Mapping mapping = assertMappingExist(id);
|
|
Mapping mapping = assertMappingExist(id);
|
|
|
|
+ final String metaId = mapping.getMetaId();
|
|
synchronized (LOCK) {
|
|
synchronized (LOCK) {
|
|
- assertRunning(mapping.getMetaId());
|
|
|
|
|
|
+ assertRunning(metaId);
|
|
|
|
+
|
|
|
|
+ // 清空同步记录
|
|
|
|
+ Meta meta = manager.getMeta(metaId);
|
|
|
|
+ meta.getFail().set(0);
|
|
|
|
+ meta.getSuccess().set(0);
|
|
|
|
+ manager.editMeta(meta);
|
|
|
|
+
|
|
manager.start(mapping);
|
|
manager.start(mapping);
|
|
}
|
|
}
|
|
return "驱动启动成功";
|
|
return "驱动启动成功";
|
|
@@ -173,23 +173,4 @@ public class MappingServiceImpl implements MappingService {
|
|
return mapping;
|
|
return mapping;
|
|
}
|
|
}
|
|
|
|
|
|
- /**
|
|
|
|
- * 检查是否运行中,运行中抛出异常提示
|
|
|
|
- *
|
|
|
|
- * @param metaId
|
|
|
|
- * @return
|
|
|
|
- */
|
|
|
|
- private void assertRunning(String metaId) {
|
|
|
|
- Assert.isTrue(!isRunning(metaId), "驱动正在运行中, 请先停止.");
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- private boolean isRunning(String metaId) {
|
|
|
|
- Meta meta = manager.getMeta(metaId);
|
|
|
|
- if (null != meta) {
|
|
|
|
- int state = meta.getState();
|
|
|
|
- return MetaEnum.isRunning(state);
|
|
|
|
- }
|
|
|
|
- return false;
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
}
|
|
}
|