com.purbon.kafka.topology.api.adminclient.TopologyBuilderAdminClientBuilder Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of julie-ops Show documentation
Show all versions of julie-ops Show documentation
A helper project for Kafka Platform teams to build an automated Topic, Configuration, Schemas, and more,
Management solution.
The newest version!
package com.purbon.kafka.topology.api.adminclient;
import com.purbon.kafka.topology.Configuration;
import java.io.IOException;
import java.util.Properties;
import org.apache.kafka.clients.admin.AdminClient;
import org.apache.kafka.clients.admin.AdminClientConfig;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
public class TopologyBuilderAdminClientBuilder {
private static final Logger LOGGER =
LogManager.getLogger(TopologyBuilderAdminClientBuilder.class);
private final Configuration config;
public TopologyBuilderAdminClientBuilder(Configuration config) {
this.config = config;
}
public TopologyBuilderAdminClient build() throws IOException {
Properties props = config.asProperties();
LOGGER.debug(
String.format(
"Connecting AdminClient to %s",
props.getProperty(AdminClientConfig.BOOTSTRAP_SERVERS_CONFIG)));
TopologyBuilderAdminClient client = new TopologyBuilderAdminClient(AdminClient.create(props));
if (!config.isDryRun() && !config.doValidate()) {
client.healthCheck();
}
return client;
}
}