Fix: Nachrichten wurden ggf. doppelt verarbeitet
authorKai Moritz <kai@juplo.de>
Mon, 28 Oct 2024 10:14:31 +0000 (11:14 +0100)
committerKai Moritz <kai@juplo.de>
Fri, 8 Nov 2024 17:21:16 +0000 (18:21 +0100)
* Wenn man in einer Schliefe die Nachrichten pro Partition separat
  verarbeitet...
* ...dann sollte man in jedem Schleifendurchlauf auch nur die Nachrichten
  der gerade zu verarbeitenden Partition abrufen!

src/main/java/de/juplo/kafka/ExampleConsumer.java

index 42db4d0..e96bd7a 100644 (file)
@@ -92,7 +92,7 @@ public class ExampleConsumer implements Runnable, ConsumerRebalanceListener
             acked[partition.partition()] = 0;
             done[partition.partition()] = false;
 
-            for (ConsumerRecord<String, String> record : records)
+            for (ConsumerRecord<String, String> record : records.records(partition))
             {
               handleRecord(
                 record.topic(),