diff --git a/instance/manager/src/main/java/com/alibaba/otter/canal/instance/manager/CanalInstanceWithManager.java b/instance/manager/src/main/java/com/alibaba/otter/canal/instance/manager/CanalInstanceWithManager.java index 24768711..a969f85f 100644 --- a/instance/manager/src/main/java/com/alibaba/otter/canal/instance/manager/CanalInstanceWithManager.java +++ b/instance/manager/src/main/java/com/alibaba/otter/canal/instance/manager/CanalInstanceWithManager.java @@ -347,16 +347,18 @@ public class CanalInstanceWithManager extends AbstractCanalInstance { @Override public TableMetaTSDB build(String destination, String springXml) { - try { - System.setProperty("canal.instance.tsdb.url", parameters.getTsdbJdbcUrl()); - System.setProperty("canal.instance.tsdb.dbUsername", parameters.getTsdbJdbcUserName()); - System.setProperty("canal.instance.tsdb.dbPassword", parameters.getTsdbJdbcPassword()); + synchronized (CanalInstanceWithManager.class) { + try { + System.setProperty("canal.instance.tsdb.url", parameters.getTsdbJdbcUrl()); + System.setProperty("canal.instance.tsdb.dbUsername", parameters.getTsdbJdbcUserName()); + System.setProperty("canal.instance.tsdb.dbPassword", parameters.getTsdbJdbcPassword()); - return TableMetaTSDBBuilder.build(destination, "classpath:spring/tsdb/mysql-tsdb.xml"); - } finally { - System.setProperty("canal.instance.tsdb.url", ""); - System.setProperty("canal.instance.tsdb.dbUsername", ""); - System.setProperty("canal.instance.tsdb.dbPassword", ""); + return TableMetaTSDBBuilder.build(destination, "classpath:spring/tsdb/mysql-tsdb.xml"); + } finally { + System.setProperty("canal.instance.tsdb.url", ""); + System.setProperty("canal.instance.tsdb.dbUsername", ""); + System.setProperty("canal.instance.tsdb.dbPassword", ""); + } } } });