mirror of
https://github.com/alibaba/canal.git
synced 2026-11-04 00:30:15 +08:00
修改mq配置针对destination级别重启
This commit is contained in:
@@ -226,7 +226,7 @@ public class CanalController {
|
||||
if (!config.getLazy() && !runningMonitor.isStart()) {
|
||||
runningMonitor.start();
|
||||
if (canalMQStarter != null) {
|
||||
canalMQStarter.start(getMQProperties(properties));
|
||||
canalMQStarter.startDestination(destination);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -237,7 +237,7 @@ public class CanalController {
|
||||
InstanceConfig config = instanceConfigs.remove(destination);
|
||||
if (config != null) {
|
||||
if (canalMQStarter != null) {
|
||||
canalMQStarter.stop();
|
||||
canalMQStarter.stopDestination(destination);
|
||||
}
|
||||
embededCanalServer.stop(destination);
|
||||
ServerRunningMonitor runningMonitor = ServerRunningMonitors.getRunningMonitor(destination);
|
||||
@@ -533,24 +533,4 @@ public class CanalController {
|
||||
public void setCanalMQStarter(CanalMQStarter canalMQStarter) {
|
||||
this.canalMQStarter = canalMQStarter;
|
||||
}
|
||||
|
||||
public static MQProperties getMQProperties(Properties properties) {
|
||||
MQProperties mqProperties = new MQProperties();
|
||||
mqProperties.setServers(CanalController.getProperty(properties, CanalConstants.CANAL_MQ_SERVERS));
|
||||
mqProperties
|
||||
.setRetries(Integer.valueOf(CanalController.getProperty(properties, CanalConstants.CANAL_MQ_RETRIES)));
|
||||
mqProperties
|
||||
.setBatchSize(Integer.valueOf(CanalController.getProperty(properties, CanalConstants.CANAL_MQ_BATCHSIZE)));
|
||||
mqProperties
|
||||
.setLingerMs(Integer.valueOf(CanalController.getProperty(properties, CanalConstants.CANAL_MQ_LINGERMS)));
|
||||
mqProperties.setBufferMemory(
|
||||
Long.valueOf(CanalController.getProperty(properties, CanalConstants.CANAL_MQ_BUFFERMEMORY)));
|
||||
mqProperties.setCanalBatchSize(
|
||||
Integer.valueOf(CanalController.getProperty(properties, CanalConstants.CANAL_MQ_CANALBATCHSIZE)));
|
||||
mqProperties.setCanalGetTimeout(
|
||||
Long.valueOf(CanalController.getProperty(properties, CanalConstants.CANAL_MQ_CANALGETTIMEOUT)));
|
||||
mqProperties.setFlatMessage(
|
||||
Boolean.valueOf(CanalController.getProperty(properties, CanalConstants.CANAL_MQ_FLATMESSAGE)));
|
||||
return mqProperties;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,6 +3,7 @@ package com.alibaba.otter.canal.deployer;
|
||||
import java.io.FileInputStream;
|
||||
import java.util.Properties;
|
||||
|
||||
import com.alibaba.otter.canal.common.MQProperties;
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
@@ -72,7 +73,23 @@ public class CanalLauncher {
|
||||
|
||||
if (canalMQProducer != null) {
|
||||
CanalMQStarter canalMQStarter = new CanalMQStarter(canalMQProducer);
|
||||
canalMQStarter.start(CanalController.getMQProperties(properties));
|
||||
MQProperties mqProperties = new MQProperties();
|
||||
mqProperties.setServers(CanalController.getProperty(properties, CanalConstants.CANAL_MQ_SERVERS));
|
||||
mqProperties
|
||||
.setRetries(Integer.valueOf(CanalController.getProperty(properties, CanalConstants.CANAL_MQ_RETRIES)));
|
||||
mqProperties
|
||||
.setBatchSize(Integer.valueOf(CanalController.getProperty(properties, CanalConstants.CANAL_MQ_BATCHSIZE)));
|
||||
mqProperties
|
||||
.setLingerMs(Integer.valueOf(CanalController.getProperty(properties, CanalConstants.CANAL_MQ_LINGERMS)));
|
||||
mqProperties.setBufferMemory(
|
||||
Long.valueOf(CanalController.getProperty(properties, CanalConstants.CANAL_MQ_BUFFERMEMORY)));
|
||||
mqProperties.setCanalBatchSize(
|
||||
Integer.valueOf(CanalController.getProperty(properties, CanalConstants.CANAL_MQ_CANALBATCHSIZE)));
|
||||
mqProperties.setCanalGetTimeout(
|
||||
Long.valueOf(CanalController.getProperty(properties, CanalConstants.CANAL_MQ_CANALGETTIMEOUT)));
|
||||
mqProperties.setFlatMessage(
|
||||
Boolean.valueOf(CanalController.getProperty(properties, CanalConstants.CANAL_MQ_FLATMESSAGE)));
|
||||
canalMQStarter.start(mqProperties);
|
||||
controller.setCanalMQStarter(canalMQStarter);
|
||||
}
|
||||
} catch (Throwable e) {
|
||||
|
||||
Reference in New Issue
Block a user