optimize YAML config loader (#4332)

This commit is contained in:
rewerma
2022-08-01 20:15:14 +08:00
committed by GitHub
parent a96db39420
commit eee73dc4b1
43 changed files with 391 additions and 4225 deletions

View File

@@ -1,5 +1,6 @@
package com.alibaba.otter.canal.client.adapter.es.core.config;
import com.alibaba.otter.canal.client.adapter.support.YamlUtils;
import java.util.LinkedHashMap;
import java.util.Map;
import java.util.Properties;
@@ -7,7 +8,6 @@ import java.util.Properties;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.alibaba.otter.canal.client.adapter.config.YmlConfigBinder;
import com.alibaba.otter.canal.client.adapter.support.MappingConfigsLoader;
/**
@@ -28,7 +28,7 @@ public class ESSyncConfigLoader {
String esv = envProperties.getProperty("es.version");
Map<String, String> configContentMap = MappingConfigsLoader.loadConfigs(esv);
configContentMap.forEach((fileName, content) -> {
ESSyncConfig config = YmlConfigBinder.bindYmlToObj(null, content, ESSyncConfig.class, null, envProperties);
ESSyncConfig config = YamlUtils.ymlToObj(null, content, ESSyncConfig.class, null, envProperties);
if (config == null) {
return;
}

View File

@@ -1,12 +1,8 @@
package com.alibaba.otter.canal.client.adapter.es.core.monitor;
import com.alibaba.otter.canal.client.adapter.config.YmlConfigBinder;
import com.alibaba.otter.canal.client.adapter.es.core.ESAdapter;
import com.alibaba.otter.canal.client.adapter.es.core.config.ESSyncConfig;
import com.alibaba.otter.canal.client.adapter.support.MappingConfigsLoader;
import com.alibaba.otter.canal.client.adapter.support.Util;
import java.io.File;
import java.util.Properties;
import org.apache.commons.io.filefilter.FileFilterUtils;
import org.apache.commons.io.monitor.FileAlterationListenerAdaptor;
import org.apache.commons.io.monitor.FileAlterationMonitor;
@@ -14,6 +10,14 @@ import org.apache.commons.io.monitor.FileAlterationObserver;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.alibaba.otter.canal.client.adapter.es.core.ESAdapter;
import com.alibaba.otter.canal.client.adapter.es.core.config.ESSyncConfig;
import com.alibaba.otter.canal.client.adapter.support.MappingConfigsLoader;
import com.alibaba.otter.canal.client.adapter.support.Util;
import com.alibaba.otter.canal.client.adapter.support.YamlUtils;
;
public class ESConfigMonitor {
private static final Logger logger = LoggerFactory.getLogger(ESConfigMonitor.class);
@@ -60,7 +64,7 @@ public class ESConfigMonitor {
try {
// 加载新增的配置文件
String configContent = MappingConfigsLoader.loadConfig(adapterName + File.separator + file.getName());
ESSyncConfig config = YmlConfigBinder.bindYmlToObj(null,
ESSyncConfig config = YamlUtils.ymlToObj(null,
configContent,
ESSyncConfig.class,
null,
@@ -93,7 +97,7 @@ public class ESConfigMonitor {
onFileDelete(file);
return;
}
ESSyncConfig config = YmlConfigBinder.bindYmlToObj(null,
ESSyncConfig config = YamlUtils.ymlToObj(null,
configContent,
ESSyncConfig.class,
null,