环境信息
mac
canal version 1.5 mysql version 5.7
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为空
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_.. 这种也不行,我调试发现表达式多个.导致无法匹配
原提问者GitHub用户god8816
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。