Merge pull request #1340 from rewerma/master

fixed #1338
This commit is contained in:
agapple
2018-12-25 22:42:25 +08:00
committed by GitHub
3 changed files with 22 additions and 22 deletions

View File

@@ -75,8 +75,8 @@ public class ESAdapter implements OuterAdapter {
// 过滤不匹配的key的配置 // 过滤不匹配的key的配置
esSyncConfigTmp.forEach((key, config) -> { esSyncConfigTmp.forEach((key, config) -> {
if ((config.getOuterAdapterKey() == null && configuration.getKey() == null) if ((config.getOuterAdapterKey() == null && configuration.getKey() == null)
|| (config.getOuterAdapterKey() != null && config.getOuterAdapterKey() || (config.getOuterAdapterKey() != null
.equalsIgnoreCase(configuration.getKey()))) { && config.getOuterAdapterKey().equalsIgnoreCase(configuration.getKey()))) {
esSyncConfig.put(key, config); esSyncConfig.put(key, config);
} }
}); });
@@ -98,15 +98,11 @@ public class ESAdapter implements OuterAdapter {
} }
String schema = matcher.group(2); String schema = matcher.group(2);
schemaItem.getAliasTableItems() schemaItem.getAliasTableItems().values().forEach(tableItem -> {
.values() Map<String, ESSyncConfig> esSyncConfigMap = dbTableEsSyncConfig
.forEach(tableItem -> { .computeIfAbsent(schema + "-" + tableItem.getTableName(), k -> new HashMap<>());
Map<String, ESSyncConfig> esSyncConfigMap = dbTableEsSyncConfig.computeIfAbsent(schema esSyncConfigMap.put(configName, config);
+ "-" });
+ tableItem.getTableName(),
k -> new HashMap<>());
esSyncConfigMap.put(configName, config);
});
} }
Map<String, String> properties = configuration.getProperties(); Map<String, String> properties = configuration.getProperties();
@@ -140,7 +136,9 @@ public class ESAdapter implements OuterAdapter {
String database = dml.getDatabase(); String database = dml.getDatabase();
String table = dml.getTable(); String table = dml.getTable();
Map<String, ESSyncConfig> configMap = dbTableEsSyncConfig.get(database + "-" + table); Map<String, ESSyncConfig> configMap = dbTableEsSyncConfig.get(database + "-" + table);
esSyncService.sync(configMap.values(), dml); if (configMap != null) {
esSyncService.sync(configMap.values(), dml);
}
} }
@Override @Override

View File

@@ -115,7 +115,9 @@ public class HbaseAdapter implements OuterAdapter {
String database = dml.getDatabase(); String database = dml.getDatabase();
String table = dml.getTable(); String table = dml.getTable();
Map<String, MappingConfig> configMap = mappingConfigCache.get(destination + "." + database + "." + table); Map<String, MappingConfig> configMap = mappingConfigCache.get(destination + "." + database + "." + table);
configMap.values().forEach(config -> hbaseSyncService.sync(config, dml)); if (configMap != null) {
configMap.values().forEach(config -> hbaseSyncService.sync(config, dml));
}
} }
@Override @Override

View File

@@ -30,16 +30,16 @@ import com.google.common.collect.Lists;
*/ */
public class KafkaCanalConnector implements CanalMQConnector { public class KafkaCanalConnector implements CanalMQConnector {
private KafkaConsumer<String, Message> kafkaConsumer; protected KafkaConsumer<String, Message> kafkaConsumer;
private KafkaConsumer<String, String> kafkaConsumer2; // 用于扁平message的数据消费 protected KafkaConsumer<String, String> kafkaConsumer2; // 用于扁平message的数据消费
private String topic; protected String topic;
private Integer partition; protected Integer partition;
private Properties properties; protected Properties properties;
private volatile boolean connected = false; protected volatile boolean connected = false;
private volatile boolean running = false; protected volatile boolean running = false;
private boolean flatMessage; protected boolean flatMessage;
private Map<Integer, Long> currentOffsets = new HashMap<>(); private Map<Integer, Long> currentOffsets = new HashMap<>();
public KafkaCanalConnector(String servers, String topic, Integer partition, String groupId, Integer batchSize, public KafkaCanalConnector(String servers, String topic, Integer partition, String groupId, Integer batchSize,
boolean flatMessage){ boolean flatMessage){