From 4dccfa10d82ecffa33a544191cb1577b74acd267 Mon Sep 17 00:00:00 2001 From: Kai Moritz Date: Sat, 2 Nov 2024 22:23:16 +0100 Subject: [PATCH] Fix: `close()` muss noch vom `ExampleConsumer` aufgerufen werden MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit * Der Aufruf von `close()` löst die Abmeldung der Instanz bei dem GroupCoordinator aus. * Dieser Vorgang sollte noch unter der Kontrolle des Anwendungscodes erfolgen! * Wenn die Methode erst von Spring aufgerufen wird, werden dann ggf. noch Seiteneffekte ausgelöst, die dann noch im Kontext der Instanz laufen, obwohl diese eigentlich schon beendet wurde! --- src/main/java/de/juplo/kafka/ApplicationConfiguration.java | 2 +- src/main/java/de/juplo/kafka/ExampleConsumer.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 116d63d..0046f8f 100644 --- a/src/main/java/de/juplo/kafka/ApplicationConfiguration.java +++ b/src/main/java/de/juplo/kafka/ApplicationConfiguration.java @@ -27,7 +27,7 @@ public class ApplicationConfiguration kafkaConsumer); } - @Bean + @Bean(destroyMethod = "") public KafkaConsumer kafkaConsumer(ApplicationProperties properties) { Properties props = new Properties(); diff --git a/src/main/java/de/juplo/kafka/ExampleConsumer.java b/src/main/java/de/juplo/kafka/ExampleConsumer.java index 13431d3..3206067 100644 --- a/src/main/java/de/juplo/kafka/ExampleConsumer.java +++ b/src/main/java/de/juplo/kafka/ExampleConsumer.java @@ -73,6 +73,8 @@ public class ExampleConsumer implements Runnable } finally { + log.info("{} - Closing the KafkaConsumer", id); + consumer.close(); log.info("{}: Consumed {} messages in total, exiting!", id, consumed); } } -- 2.20.1