在连接内的表,任何一张表更新之后,都会触发插入或更新。
canal.instance.filter.regex=mufan\\.credit_record,mufan\\.credit_club_member,mufan\\.credit_club,mufan\\.credit_user
canal.instance.filter.black.field=mufan.credit_user:modify_time/create_time/wx_openid/create_user
关键代码位置:com.alibaba.otter.canal.parse.inbound.mysql.dbsync.LogEventConvert#parseOneRow
/**
* 字段过滤判断
*/
private boolean needField(List<String> fieldList, List<String> blackFieldList, String columnName) {
if (fieldList == null || fieldList.isEmpty()) {
return blackFieldList == null || blackFieldList.isEmpty()
|| !blackFieldList.contains(columnName.toUpperCase());
} else {
return fieldList.contains(columnName.toUpperCase());
}
}
com.alibaba.otter.canal.adapter.launcher.loader.AdapterProcessor#writeOut
com.alibaba.otter.canal.client.adapter.es.core.service.ESSyncService#sync
消息CommonMessage的生成,用于canal的关键消息
com.alibaba.otter.canal.connector.core.util.MessageUtil
可能的原因: