java-tutorials/spring-kafka/README.md

1.6 KiB

Spring Kakfa

This is a simple Spring Boot app to demonstrate sending and receiving of messages in Kafka using spring-kafka.

As Kafka topics are not created automatically by default, this application requires that you create the following topics manually.

$ bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic baeldung
$ bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 5 --topic partitioned
$ bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic filtered
$ bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic greeting

When the application runs successfully, following output is logged on to console (along with spring logs):

Message received from the 'baeldung' topic by the basic listeners with groups foo and bar

Received Messasge in group 'foo': Hello, World!
Received Messasge in group 'bar': Hello, World!

Message received from the 'baeldung' topic, with the partition info

Received Messasge: Hello, World! from partition: 0

Message received from the 'partitioned' topic, only from specific partitions

Received Message: Hello To Partioned Topic! from partition: 0
Received Message: Hello To Partioned Topic! from partition: 3

Message received from the 'filtered' topic after filtering

Recieved Message in filtered listener: Hello Baeldung!

Message (Serialized Java Object) received from the 'greeting' topic

Recieved greeting message: Greetings, World!!