diff --git a/connector/rabbitmq-connector/src/main/java/com/alibaba/otter/canal/connector/rabbitmq/producer/CanalRabbitMQProducer.java b/connector/rabbitmq-connector/src/main/java/com/alibaba/otter/canal/connector/rabbitmq/producer/CanalRabbitMQProducer.java index a6a623a2..1374dea2 100644 --- a/connector/rabbitmq-connector/src/main/java/com/alibaba/otter/canal/connector/rabbitmq/producer/CanalRabbitMQProducer.java +++ b/connector/rabbitmq-connector/src/main/java/com/alibaba/otter/canal/connector/rabbitmq/producer/CanalRabbitMQProducer.java @@ -51,7 +51,15 @@ public class CanalRabbitMQProducer extends AbstractMQProducer implements CanalMQ loadRabbitMQProperties(properties); ConnectionFactory factory = new ConnectionFactory(); - factory.setHost(rabbitMQProperties.getHost()); + String servers = rabbitMQProperties.getHost(); + if (servers.contains(":")) { + String[] serverHostAndPort = servers.split(":"); + factory.setHost(serverHostAndPort[0]); + factory.setPort(Integer.parseInt(serverHostAndPort[1])); + } else { + factory.setHost(servers); + } + if (mqProperties.getAliyunAccessKey().length() > 0 && mqProperties.getAliyunSecretKey().length() > 0 && mqProperties.getAliyunUid() > 0) { factory.setCredentialsProvider(new AliyunCredentialsProvider(mqProperties.getAliyunAccessKey(),