environment
mac
- canal version
- 1.5
- mysql version 5.7
Issue Description
Steps to reproduce
Expected behaviour
Actual behaviour
public static boolean matchDynamicTopic(String name, String dynamicTopicConfigs) {
if (StringUtils.isEmpty(dynamicTopicConfigs)) {
return false;
}
boolean res = false;
List<DynamicTopicData> datas = dynamicTopicDatas.get(dynamicTopicConfigs);
for (DynamicTopicData data : datas) {
if (data.simpleName != null) {
if (data.simpleName.equalsIgnoreCase(name)) {
res = true;
break;
}
} else if (name.contains(".")) {
if (data.tableRegexFilter != null && data.tableRegexFilter.filter(name)) {
res = true;
break;
}
} else {
if (data.schemaRegexFilter != null && data.schemaRegexFilter.filter(name)) {
res = true;
break;
}
}
}
return res;
}
canal.mq.dynamicTopic=canal_tms_delivery_order_detail:tms_0.tms_delivery_order_detail_..*,canal_tms_delivery_order_settlement:tms_0.tms_delivery_order_settlement_..,canal_tms_delivery_order_logistics:tms_0.tms_delivery_order_logistics_..,canal_tms_delivery_order:tms_0.tms_delivery_order_..*
动态topic无法匹配:因为data.tableRegexFilter为空
2条答案
按热度按时间2izufjch1#
canal.mq.dynamicTopic=canal_tms_delivery_order_detail:tms_0.tms_delivery_order_detail_..*,canal_tms_delivery_order_settlement:tms_0.tms_delivery_order_settlement_..,canal_tms_delivery_order_logistics:tms_0.tms_delivery_order_logistics_..,canal_tms_delivery_order:tms_0.tms_delivery_order_..* 这种也不行,我调试发现表达式多个.导致无法匹配
dzjeubhm2#