fixed issue #4018, fixed CanalInstanceWithManager thread-safe

This commit is contained in:
jianghang.loujh
2022-05-16 19:46:34 +08:00
parent b7eff723a3
commit 4a22d72ef4

View File

@@ -347,6 +347,7 @@ public class CanalInstanceWithManager extends AbstractCanalInstance {
@Override @Override
public TableMetaTSDB build(String destination, String springXml) { public TableMetaTSDB build(String destination, String springXml) {
synchronized (CanalInstanceWithManager.class) {
try { try {
System.setProperty("canal.instance.tsdb.url", parameters.getTsdbJdbcUrl()); System.setProperty("canal.instance.tsdb.url", parameters.getTsdbJdbcUrl());
System.setProperty("canal.instance.tsdb.dbUsername", parameters.getTsdbJdbcUserName()); System.setProperty("canal.instance.tsdb.dbUsername", parameters.getTsdbJdbcUserName());
@@ -359,6 +360,7 @@ public class CanalInstanceWithManager extends AbstractCanalInstance {
System.setProperty("canal.instance.tsdb.dbPassword", ""); System.setProperty("canal.instance.tsdb.dbPassword", "");
} }
} }
}
}); });
mysqlEventParser.setEnableTsdb(tsdbEnable); mysqlEventParser.setEnableTsdb(tsdbEnable);
} }