From 35fd5b38647998fb8d0bd8502ba7dc9e6488677e Mon Sep 17 00:00:00 2001 From: Kai Moritz Date: Tue, 29 Oct 2024 18:09:12 +0100 Subject: [PATCH] Typ der Partition ist `Integer`: Demonstration des Fallbacks bei `null` MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit * Die Idee, das Verhalten bei `null` in mit einer gemeinsamen Vorlage in einer Übung aufzuzeigen, ist für die Übungen nicht gut geeignet. * _Grund:_ Während der Umsetzung werden immer einige TN die Anwendung aus der IDE heraus ausführen. * Dabei wäre dann durch die gemeinsame Vorlage, die in der `application.yml` keinen Wert für die Partition vorgeben kann, `null` als Partition vorgegeben, so dass die Umsetzung (scheinbar) nicht funktioniert! * In der eingebauten `application.yml` kann kein Wert vorgegeben werden, da dieser sonst später nicht überschrieben werden kann! * Experimente haben gezeigt, dass sowohl eine leere Vorgabe, als auch die Vorgabe `null` (ohne Anführungszeichen), in der `docker-compose.yml` den Wert nicht zurücksetzen. --- README.sh | 2 +- src/main/java/de/juplo/kafka/ApplicationProperties.java | 1 - src/main/java/de/juplo/kafka/ExampleProducer.java | 4 ++-- src/main/resources/application.yml | 1 - 4 files changed, 3 insertions(+), 5 deletions(-) diff --git a/README.sh b/README.sh index 668e756..01372f7 100755 --- a/README.sh +++ b/README.sh @@ -39,4 +39,4 @@ echo echo "Von consumer-2 empfangen:" docker compose -f docker/docker-compose.yml logs consumer-2 | grep '\ test\/.' -docker compose -f docker/docker-compose.yml stop consumer-1 consumer-2 +docker compose -f docker/docker-compose.yml rm -svf consumer-1 consumer-2 diff --git a/src/main/java/de/juplo/kafka/ApplicationProperties.java b/src/main/java/de/juplo/kafka/ApplicationProperties.java index 8eebd09..8a263e8 100644 --- a/src/main/java/de/juplo/kafka/ApplicationProperties.java +++ b/src/main/java/de/juplo/kafka/ApplicationProperties.java @@ -39,7 +39,6 @@ public class ApplicationProperties @NotNull @NotEmpty private String topic; - @NotNull private Integer partition; @NotNull @NotEmpty diff --git a/src/main/java/de/juplo/kafka/ExampleProducer.java b/src/main/java/de/juplo/kafka/ExampleProducer.java index 2d043c2..23b4f90 100644 --- a/src/main/java/de/juplo/kafka/ExampleProducer.java +++ b/src/main/java/de/juplo/kafka/ExampleProducer.java @@ -10,7 +10,7 @@ public class ExampleProducer implements Runnable { private final String id; private final String topic; - private final int partition; + private final Integer partition; private final int throttleMs; private final Producer producer; private final Thread workerThread; @@ -22,7 +22,7 @@ public class ExampleProducer implements Runnable public ExampleProducer( String id, String topic, - int partition, + Integer partition, int throttleMs, Producer producer) { diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index 79c5c98..b06f974 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -3,7 +3,6 @@ juplo: client-id: DEV producer: topic: test - partition: 0 acks: -1 batch-size: 16384 linger-ms: 0 -- 2.20.1