DBZ-2808 Add Mongo DB default config helper to ConnectorConfiguration
This commit is contained in:
parent
277b6bc100
commit
e85ae93fbc
@ -45,6 +45,10 @@
|
||||
<groupId>org.testcontainers</groupId>
|
||||
<artifactId>postgresql</artifactId>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.testcontainers</groupId>
|
||||
<artifactId>mongodb</artifactId>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>org.easytesting</groupId>
|
||||
|
@ -8,6 +8,7 @@
|
||||
import java.util.List;
|
||||
|
||||
import org.testcontainers.containers.JdbcDatabaseContainer;
|
||||
import org.testcontainers.containers.MongoDBContainer;
|
||||
|
||||
import com.fasterxml.jackson.databind.JsonNode;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
@ -38,10 +39,12 @@ static ConnectorConfiguration from(JsonNode configNode) {
|
||||
|
||||
private static final String CONNECTOR = "connector.class";
|
||||
private static final String HOSTNAME = "database.hostname";
|
||||
private static final String HOSTS = "mongodb.hosts";
|
||||
private static final String PORT = "database.port";
|
||||
private static final String USER = "database.user";
|
||||
private static final String PASSWORD = "database.password";
|
||||
private static final String DBNAME = "database.dbname";
|
||||
private static final String AUTO_DISCOVER_MEMBERS = "mongodb.members.auto.discover";
|
||||
|
||||
public static ConnectorConfiguration forJdbcContainer(JdbcDatabaseContainer<?> jdbcDatabaseContainer) {
|
||||
ConnectorConfiguration configuration = new ConnectorConfiguration();
|
||||
@ -65,6 +68,18 @@ public static ConnectorConfiguration forJdbcContainer(JdbcDatabaseContainer<?> j
|
||||
return configuration;
|
||||
}
|
||||
|
||||
public static ConnectorConfiguration forMongoDbContainer(MongoDBContainer mongoDbContainer) {
|
||||
final List<Integer> exposedPorts = mongoDbContainer.getExposedPorts();
|
||||
|
||||
ConnectorConfiguration configuration = new ConnectorConfiguration();
|
||||
configuration.with(CONNECTOR, "io.debezium.connector.mongodb.MongoDbConnector")
|
||||
.with(HOSTS, "rs0/" + mongoDbContainer.getContainerInfo().getConfig().getHostName()
|
||||
+ ":" + exposedPorts.get(0))
|
||||
.with(AUTO_DISCOVER_MEMBERS, false);
|
||||
|
||||
return configuration;
|
||||
}
|
||||
|
||||
private static boolean isMySQL(String driverClassName) {
|
||||
return "com.mysql.cj.jdbc.Driver".equals(driverClassName) || "com.mysql.jdbc.Driver".equals(driverClassName);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user