Konsumption der Nachricht in eine separate Methode verlagert
authorKai Moritz <kai@juplo.de>
Sat, 12 Nov 2022 14:01:00 +0000 (15:01 +0100)
committerKai Moritz <kai@juplo.de>
Sun, 13 Nov 2022 17:01:08 +0000 (18:01 +0100)
* Dies ist eine Vorbereitung für die Umstellung auf `@KafkaListener`
* Durch die Umstellung wird der Code vor/nach der Umstellung besser
  vergleichbar.
* Denn mit `@KafkaListener` wird direkt eine Methode annotiert, die dann
  von Spring die deserialisierte Nachricht injiziert bekommt.

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

index 0e37686..1cf9b22 100644 (file)
@@ -38,16 +38,12 @@ public class SimpleConsumer implements Runnable
         log.info("{} - Received {} messages", id, records.count());
         for (ConsumerRecord<String, String> record : records)
         {
-          consumed++;
-          log.info(
-              "{} - {}: {}/{} - {}={}",
-              id,
-              record.offset(),
-              record.topic(),
-              record.partition(),
-              record.key(),
-              record.value()
-          );
+          handleRecord(
+            record.topic(),
+            record.partition(),
+            record.offset(),
+            record.key(),
+            record.value());
         }
       }
     }
@@ -67,4 +63,15 @@ public class SimpleConsumer implements Runnable
       log.info("{}: Consumed {} messages in total, exiting!", id, consumed);
     }
   }
+
+  private void handleRecord(
+    String topic,
+    Integer partition,
+    Long offset,
+    String key,
+    String value)
+  {
+    consumed++;
+    log.info("{} - {}: {}/{} - {}={}", id, offset, topic, partition, key, value);
+  }
 }