Fachliche Behandlung der unterschiedlichen Nachrichten-Typen ergänzt spring/spring-consumer--json--2025-02-signal
authorKai Moritz <kai@juplo.de>
Sat, 1 Feb 2025 16:17:51 +0000 (17:17 +0100)
committerKai Moritz <kai@juplo.de>
Sat, 1 Feb 2025 16:17:51 +0000 (17:17 +0100)
src/main/java/de/juplo/kafka/ExampleConsumer.java

index a958aef..c1397b9 100644 (file)
@@ -94,8 +94,23 @@ public class ExampleConsumer implements Runnable
   {
     consumed++;
     log.info("{} - partition={}-{}, offset={}: {}={}", id, topic, partition, offset, key, value);
+    switch (value.getType())
+    {
+      case ADD  -> addNumber((MessageAddNumber)value);
+      case CALC -> calcSum((MessageCalculateSum)value);
+      default   -> log.error("{} - Ignoring message of unknown typ {}", id, value.getType());
+    }
   }
 
+  private void addNumber(MessageAddNumber addNumber)
+  {
+    log.info("{} - Adding number {}", id, addNumber.getNext());
+  }
+
+  private void calcSum(MessageCalculateSum calculateSum)
+  {
+    log.info("{} - Calculating sum", id);
+  }
 
   public void shutdown() throws InterruptedException
   {