All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.purbon.kafka.topology.api.adminclient.TopologyBuilderAdminClientBuilder Maven / Gradle / Ivy

Go to download

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;
  }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy