2019-10-31 21:43:47 -04:00
|
|
|
## Spring Kafka
|
|
|
|
|
|
|
|
This module contains articles about Spring with Kafka
|
|
|
|
|
|
|
|
### Relevant articles
|
|
|
|
|
|
|
|
- [Intro to Apache Kafka with Spring](https://www.baeldung.com/spring-kafka)
|
2020-11-18 03:57:40 -05:00
|
|
|
- [Testing Kafka and Spring Boot](https://www.baeldung.com/spring-boot-kafka-testing)
|
2021-07-01 17:33:10 -04:00
|
|
|
- [Monitor the Consumer Lag in Apache Kafka](https://www.baeldung.com/java-kafka-consumer-lag)
|
2021-07-07 11:29:24 -04:00
|
|
|
- [Send Large Messages With Kafka](https://www.baeldung.com/java-kafka-send-large-message)
|
2021-12-22 12:58:49 -05:00
|
|
|
- [Kafka Streams With Spring Boot](https://www.baeldung.com/spring-boot-kafka-streams)
|
2024-02-26 14:34:40 -05:00
|
|
|
- [Implementing Retry in Kafka Consumer](https://www.baeldung.com/spring-retry-kafka-consumer)
|
2019-10-31 21:43:47 -04:00
|
|
|
### 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`<br>
|
|
|
|
`$ bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 5 --topic partitioned`<br>
|
|
|
|
`$ bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic filtered`<br>
|
|
|
|
`$ bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic greeting`<br>
|
|
|
|
|
|
|
|
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!<br>
|
|
|
|
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<br>
|
|
|
|
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!!
|