Die Counter werden mit dem ``String``-Key indiziert
authorKai Moritz <kai@juplo.de>
Sun, 27 Oct 2024 12:03:25 +0000 (13:03 +0100)
committerKai Moritz <kai@juplo.de>
Fri, 8 Nov 2024 17:21:16 +0000 (18:21 +0100)
* Vorbereitung auf eine Poison-Pill Übung ist hier noch out-of-scope...

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

index 85b77b9..e400c4e 100644 (file)
@@ -21,7 +21,7 @@ public class ExampleConsumer implements Runnable
   private final Thread workerThread;
   private final Runnable closeCallback;
 
-  private final Map<Integer, Long> counterState = new HashMap<>();
+  private final Map<String, Long> counterState = new HashMap<>();
 
   private volatile boolean running = false;
   private long consumed = 0;
@@ -98,9 +98,8 @@ public class ExampleConsumer implements Runnable
   {
     consumed++;
     log.info("{} - {}: {}/{} - {}={}", id, offset, topic, partition, key, value);
-    Integer counted = Integer.parseInt(key);
-    Long counter = counterState.compute(counted, (k, v) -> v == null ? 1l : v + 1);
-    log.info("{} - current value for counter {}: {}", id, counted, counter);
+    Long counter = counterState.compute(key, (k, v) -> v == null ? 1l : v + 1);
+    log.info("{} - current value for counter {}: {}", id, key, counter);
   }