You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: messaging-tutorial/kafka-tutorial/kafka-receiver/README.md
+32-1Lines changed: 32 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -27,4 +27,35 @@ Assurez-vous que Kafka est démarré (via `docker-compose up -d` dans le dossier
27
27
2. Exécutez `mvn spring-boot:run`.
28
28
3. L'application va démarrer et commencer à écouter les messages. Envoyez des messages via l'application `kafka-sender` pour les voir apparaître ici.
29
29
* Envoyez un message normal (ex: `{"message": "Hello Kafka!"}`) : Il sera traité normalement.
30
-
* Envoyez un message contenant "erreur" (ex: `{"message": "Ceci est une erreur"}`) : Il sera loggé comme une erreur par le consommateur principal et **vous verrez un log indiquant qu'il a été reçu par le listener de la DLQ**.
30
+
* Envoyez un message contenant "erreur" (ex: `{"message": "Ceci est une erreur"}`) : # Application Consommateur Kafka (kafka-receiver)
31
+
32
+
Cette application Spring Boot agit comme un **consommateur** de messages pour Apache Kafka.
33
+
34
+
## Description
35
+
36
+
Son unique rôle est d'écouter en continu un topic Kafka spécifique. Lorsqu'un message est publié dans ce topic (par l'application `kafka-sender`), cette application le consomme et l'affiche dans la console.
37
+
38
+
Elle démontre la manière la plus simple de recevoir des messages avec Spring Kafka.
39
+
40
+
## Concepts Clés
41
+
42
+
-**Spring Kafka `@KafkaListener`** : L'annotation qui transforme une simple méthode en un consommateur de messages Kafka puissant et managé par Spring.
43
+
-**Consommateur Kafka** : Le rôle de cette application dans l'écosystème Kafka.
44
+
-**Dead Letter Queue (DLQ)** : Un mécanisme pour gérer les messages en erreur, les redirigeant vers un topic dédié (`my-topic.DLT`).
45
+
46
+
## Fichiers Principaux
47
+
48
+
-`KafkaConsumerService.java` : Contient la méthode annotée avec `@KafkaListener` qui est automatiquement invoquée pour chaque nouveau message dans le topic, ainsi que le listener pour la DLQ.
49
+
-`KafkaConsumerConfig.java` : Configure le `ConcurrentKafkaListenerContainerFactory` et le `DefaultErrorHandler` pour la gestion des DLQ.
50
+
51
+
## Comment l'exécuter
52
+
53
+
Assurez-vous que Kafka est démarré (via `docker-compose up -d` dans le dossier parent).
54
+
55
+
1. Naviguez dans ce dossier.
56
+
2. Exécutez `mvn spring-boot:run`.
57
+
3. L'application va démarrer et commencer à écouter les messages. Envoyez des messages via l'application `kafka-sender` pour les voir apparaître ici.
58
+
* Envoyez un message normal (ex: `{"message": "Hello Kafka!"}`) : Il sera traité normalement.
59
+
* Envoyez un message contenant "erreur" (ex: `{"message": "Ceci est une erreur"}`) : Il sera loggé comme une erreur par le consommateur principal, envoyé à la DLQ, et **vous verrez un log indiquant qu'il a été reçu par le listener de la DLQ pour une tentative de re-traitement**.
60
+
* Envoyez un message contenant "re-erreur" (ex: `{"message": "Ceci est une re-erreur"}`) : Il sera d'abord envoyé à la DLQ, puis le listener de la DLQ tentera de le re-traiter, échouera à nouveau, et **vous verrez un log indiquant l'échec du re-traitement depuis la DLQ**.
Copy file name to clipboardExpand all lines: messaging-tutorial/kafka-tutorial/kafka-receiver/src/main/java/fr/eletutour/receiver/service/KafkaConsumerService.java
+21-2Lines changed: 21 additions & 2 deletions
Original file line number
Diff line number
Diff line change
@@ -18,9 +18,11 @@ public class KafkaConsumerService {
0 commit comments