]> juplo.de Git - demos/kafka/training/commitdiff
Stand der erarbeiteten Lösung für die Übung "Fire & Forget" grundlagen/simple-producer--fire+forget--vorlage grundlagen/simple-producer--fire+forget--vorlage--2026-03-22--22-01 grundlagen/simple-producer--fire+forget--vorlage--2026-03-lvm
authorKai Moritz <kai@juplo.de>
Sun, 15 Mar 2026 10:01:00 +0000 (11:01 +0100)
committerKai Moritz <kai@juplo.de>
Sun, 22 Mar 2026 20:01:21 +0000 (21:01 +0100)
src/main/java/de/juplo/kafka/ExampleProducer.java

index 1cf50a6a09bf6e719cde756f881a76c2b0ae427b..08a4bc3c6e7520796afd6e5dcb0bac629f586e8b 100644 (file)
@@ -25,15 +25,15 @@ public class ExampleProducer
     String topic,
     String clientId)
   {
-    // TODO:
-    // Instanziierung des KafkaProducer aus Ihrer bisherigen Implementierung
-    // Hier:
-    // - Den Parameter "broker" des Konstruktors für "bootstrap.servers" verwenden
-    // - Den Parameter "topic" des Konstruktors im Attribut "this.topic" merken
-    // - Den erzeugten KafkaProducer in "this.producer" ablegen
+    Properties props = new Properties();
+    props.put("bootstrap.servers", broker);
+    props.put("client.id", clientId); // Nur zur Wiedererkennung
+    props.put("key.serializer", StringSerializer.class.getName());
+    props.put("value.serializer", StringSerializer.class.getName());
 
     this.id = clientId;
     this.topic = topic;
+    producer = new KafkaProducer<>(props);
   }
 
   public void run()
@@ -44,11 +44,15 @@ public class ExampleProducer
     {
       for (; running; i++)
       {
-        // Versenden der Nachrichten aus Ihrer bisherigen Implementierung
-        // Hier:
-        // - ACHTUNG: Schreiben Sie in das Topic "this.topic"
-        // - Ergänzen Sie mit "log.info()" eine Log-Meldung, die gesendete Nachrichten ausgibt
-        // - Zählen Sie außerdem die versendeten Nachrichten in "this.produced"
+        final ProducerRecord<String, String> record = new ProducerRecord<>(
+          topic,               // Topic
+          Long.toString(i%10), // Key
+          Long.toString(i)     // Value
+        );
+
+        producer.send(record);
+
+        produced++;
       }
     }
     catch (Exception e)