2.4 KiB
Spring Kafka
This module contains articles about Spring with Kafka
Relevant articles
- Intro to Apache Kafka with Spring
- Testing Kafka and Spring Boot
- Monitor the Consumer Lag in Apache Kafka
- Send Large Messages With Kafka
- Kafka Streams With Spring Boot
- Get the Number of Messages in an Apache Kafka Topic
- Sending Data to a Specific Partition in Kafka
- Implementing Retry in Kafka Consumer
Intro
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 Message in group 'foo': Hello, World!
Received Message in group 'bar': Hello, World!
Message received from the 'baeldung' topic, with the partition info
Received Message: 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
Received Message in filtered listener: Hello Baeldung!
Message (Serialized Java Object) received from the 'greeting' topic
Received greeting message: Greetings, World!!