From: Kai Moritz Date: Sun, 15 Mar 2026 10:01:00 +0000 (+0100) Subject: Stand der erarbeiteten Lösung für die Übung "Fire & Forget" X-Git-Tag: grundlagen/simple-producer--fire+forget--vorlage--2026-03-22--22-01 X-Git-Url: https://juplo.de/gitweb/?a=commitdiff_plain;h=3651618825eaabf30f03164f6ded8b85c63860e8;p=demos%2Fkafka%2Ftraining Stand der erarbeiteten Lösung für die Übung "Fire & Forget" --- diff --git a/src/main/java/de/juplo/kafka/ExampleProducer.java b/src/main/java/de/juplo/kafka/ExampleProducer.java index 1cf50a6a..08a4bc3c 100644 --- a/src/main/java/de/juplo/kafka/ExampleProducer.java +++ b/src/main/java/de/juplo/kafka/ExampleProducer.java @@ -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 record = new ProducerRecord<>( + topic, // Topic + Long.toString(i%10), // Key + Long.toString(i) // Value + ); + + producer.send(record); + + produced++; } } catch (Exception e)