我有两个数据库实例 test和test2
复制一个example 并修改为example2
修改canal.properties文件
找到 destinations 修改为监听example和example2实例
把canal.destinations = example 修改为 canal.destinations = example,example2
在example目录中修改实例配置文件 instance.properties
添加 canal.instance.defaultDatabaseName = test
如果 canal.instance.defaultDatabaseName 不存在 ,直接加上去
在example2目录中修改实例配置文件 instance.properties
canal.instance.defaultDatabaseName = test2
如果 canal.instance.defaultDatabaseName 不存在 ,直接加上去
配置yml文件
example的连接配置
canal:
# instance 实例所在ip
host: xxx.xxx.x.xxx
# tcp通信端口
port: 11111
# 账号 canal-admin application.yml 设置的
username:
# 密码
password:
#实例名称
instance: example
example2的连接配置
canal:
# instance 实例所在ip
host: 192.168.2.223
# tcp通信端口
port: 11111
# 账号 canal-admin application.yml 设置的
username:
# 密码
password:
#实例名称
instance: example2
获取canal连接
@Value("${canal.host}")
private String host;
@Value("${canal.port}")
private int port;
@Value("${canal.username}")
private String username;
@Value("${canal.password}")
private String password;
@Value("${canal.instance}")
private String instance;
/**
* 获取连接
*/
public CanalConnector getConn() {
CanalConnector canalConnector = CanalConnectors.newSingleConnector(new InetSocketAddress(host, port), instance, username, password);
return canalConnectorl;
}