From cdf39ca03e3e651b4175a9c7da620d6e8abcbb1f Mon Sep 17 00:00:00 2001 From: Terje Sannum Date: Wed, 24 Oct 2018 14:56:25 +0200 Subject: [PATCH] initial commit --- .gitignore | 1 + README.md | 8 +++++++ pom.xml | 45 ++++++++++++++++++++++++++++++++++++ src/main/java/TopicTest.java | 26 +++++++++++++++++++++ 4 files changed, 80 insertions(+) create mode 100644 .gitignore create mode 100644 README.md create mode 100644 pom.xml create mode 100644 src/main/java/TopicTest.java diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..2f7896d --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +target/ diff --git a/README.md b/README.md new file mode 100644 index 0000000..9419ecf --- /dev/null +++ b/README.md @@ -0,0 +1,8 @@ +# kafka-adminclient-test + +Simple test of Kafka AdminClient (create topic) + +Run with: +``` +mvn compile exec:java -Dexec.args="bootstrap-string topic-name" -Djava.security.auth.login.config=jaas-config-file +``` diff --git a/pom.xml b/pom.xml new file mode 100644 index 0000000..5d12557 --- /dev/null +++ b/pom.xml @@ -0,0 +1,45 @@ + + + 4.0.0 + + + 1.8 + UTF-8 + + + test + topictest + jar + 1.0 + + + + org.apache.kafka + kafka-clients + 2.0.0 + + + + ${project.artifactId} + + + org.apache.maven.plugins + maven-compiler-plugin + 3.5.1 + + ${java.version} + ${java.version} + + + + org.codehaus.mojo + exec-maven-plugin + 1.6.0 + + TopicTest + false + + + + + diff --git a/src/main/java/TopicTest.java b/src/main/java/TopicTest.java new file mode 100644 index 0000000..6149266 --- /dev/null +++ b/src/main/java/TopicTest.java @@ -0,0 +1,26 @@ +import java.util.Collections; +import java.util.Properties; +import org.apache.kafka.clients.admin.AdminClient; +import org.apache.kafka.clients.admin.AdminClientConfig; +import org.apache.kafka.clients.admin.CreateTopicsResult; +import org.apache.kafka.clients.admin.KafkaAdminClient; +import org.apache.kafka.clients.admin.NewTopic; + +public class TopicTest { + + public static void main(String args[]) throws Exception { + String bootstrap = args[0]; + String topic = args[1]; + System.out.println("Creating topic "+topic+" on "+bootstrap); + Properties config = new Properties(); + config.put(AdminClientConfig.BOOTSTRAP_SERVERS_CONFIG, bootstrap); + config.put(AdminClientConfig.CLIENT_ID_CONFIG, "topics-test"); + config.put(AdminClientConfig.SECURITY_PROTOCOL_CONFIG, "SASL_SSL"); + config.put("sasl.mechanism", "PLAIN"); + AdminClient admin = KafkaAdminClient.create(config); + NewTopic newTopic = new NewTopic(topic, 1, (short)1); + CreateTopicsResult result = admin.createTopics(Collections.singleton(newTopic)); + result.values().get(topic).get(); + } + +}