From 86e9cb9939ed99ed48acebdee06dc6c84a67b09c Mon Sep 17 00:00:00 2001 From: Kai Moritz Date: Fri, 1 Nov 2024 15:12:00 +0100 Subject: [PATCH] Fix: `close()` muss noch vom `ExampleProducer` aufgerufen werden MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit * Der Aufruf von `close()` löst das Versenden wartender Nachrichten aus. * Wenn die Methode erst von Spring aufgerufen wird, werden ggf. noch Nachrichten konsumiert, nachdem der `ExampleProducer` bereits ausgegeben hat, wieviele Nachrichten er insgesamt verarbeitet hat. --- src/main/java/de/juplo/kafka/ApplicationConfiguration.java | 2 +- src/main/java/de/juplo/kafka/ExampleProducer.java | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/src/main/java/de/juplo/kafka/ApplicationConfiguration.java b/src/main/java/de/juplo/kafka/ApplicationConfiguration.java index 3d775f0..5a9bd82 100644 --- a/src/main/java/de/juplo/kafka/ApplicationConfiguration.java +++ b/src/main/java/de/juplo/kafka/ApplicationConfiguration.java @@ -33,7 +33,7 @@ public class ApplicationConfiguration () -> applicationContext.close()); } - @Bean + @Bean(destroyMethod = "") public KafkaProducer kafkaProducer(ApplicationProperties properties) { Properties props = new Properties(); diff --git a/src/main/java/de/juplo/kafka/ExampleProducer.java b/src/main/java/de/juplo/kafka/ExampleProducer.java index 2190c8d..bc5cf89 100644 --- a/src/main/java/de/juplo/kafka/ExampleProducer.java +++ b/src/main/java/de/juplo/kafka/ExampleProducer.java @@ -72,6 +72,8 @@ public class ExampleProducer implements Runnable } finally { + log.info("{}: Closing the KafkaProducer", id); + producer.close(); log.info("{}: Produced {} messages in total, exiting!", id, produced); } } -- 2.20.1