#
JAVA: Create Kafka Producer with a Callback
This tutorial explains to you how to create a Kafka producer with a callback function from Java. This tutorial has an example as well.
A nice job to do is to write messages from an application, agent, etc to a Kafka topic. In this tutorial,
I will explain to you how to write a message from a Java application. After the message is sent a callback
function could be called automatically, and you can get some useful information from Kafka server.
First of all you must install a Kafka server in order to test it. For this example you don't need to install a Kafka cluster.
So, on my environment you have some prerequisites in order to test the Java code below.
PREREQUISITES:
From the machine you run the Java client you must see the private Kafka server sockets (hostname:IP)
You must have a Kafka topic named my-topic10
-- List all topics (prints only topic names)
kafka-topics.sh --list --zookeeper zookeeper1:2181/kafka
And now look at the code.
In pom.xml we must have :
<dependency>
<groupId>org.apache.kafka</groupId>
<artifactId>kafka-clients</artifactId>
<version>2.8.0</version>
</dependency>
And the class which create the Kafka producer with key looks like this :
This class is almost the same as the one from a consumer without callback.
When you run the Java class, you must see something like this:
Info
In the partitions, each of the messages will have a specific ID attached to it, called the Offset
.
As you can see, you can read some information from Kafka server/ Kafka broker.