建议增加一个属性,针对根据某一字段hash时,hash算法可以不根据database算出 #2248 (#2294)

This commit is contained in:
shicongyang
2019-10-15 21:32:42 +08:00
committed by agapple
parent b64a3e301a
commit 65b5325ca6
7 changed files with 44 additions and 9 deletions

View File

@@ -75,6 +75,7 @@ public class CanalConstants {
public static final String CANAL_MQ_VHOST = ROOT + "." + "mq.vhost";
public static final String CANAL_MQ_ALIYUN_UID = ROOT + "." + "mq.aliyunuid";
public static final String CANAL_MQ_EXCHANGE = ROOT + "." + "mq.exchange";
public static final String CANAL_MQ_DATABASE_HASH = ROOT + "." + "mq.database.hash";
public static String getInstanceModeKey(String destination) {
return MessageFormat.format(INSTANCE_MODE_TEMPLATE, destination);

View File

@@ -298,6 +298,11 @@ public class CanalStarter {
mqProperties.setExchange(exchange);
}
String databaseHash = CanalController.getProperty(properties, CanalConstants.CANAL_MQ_DATABASE_HASH);
if (!StringUtils.isEmpty(databaseHash)){
mqProperties.setDatabaseHash(Boolean.valueOf(databaseHash));
}
for (Object key : properties.keySet()) {
key = StringUtils.trim(key.toString());
if (((String) key).startsWith(CanalConstants.CANAL_MQ_PROPERTIES)) {

View File

@@ -137,6 +137,7 @@ canal.mq.username=
canal.mq.password=
canal.mq.aliyunuid=
canal.mq.database.hash = true
##################################################
######### Kafka Kerberos Info #############
##################################################