Callback für das Beenden der SpringBoot-App in eine Bean verwandelt
authorKai Moritz <kai@juplo.de>
Sat, 14 Dec 2024 11:55:35 +0000 (12:55 +0100)
committerKai Moritz <kai@juplo.de>
Sat, 14 Dec 2024 11:55:35 +0000 (12:55 +0100)
src/main/java/de/juplo/kafka/ApplicationConfiguration.java

index 8308b00..ce12651 100644 (file)
@@ -26,7 +26,7 @@ public class ApplicationConfiguration
       RecordHandler<String, Long> recordHandler,
       ConsumerHealthIndicatorAwareRebalanceListener consumerHealthIndicatorAwareRebalanceListener,
       ApplicationProperties properties,
-      ConfigurableApplicationContext applicationContext)
+      Runnable closeCallback)
   {
     return
         new ExampleConsumer(
@@ -35,11 +35,11 @@ public class ApplicationConfiguration
             kafkaConsumer,
             recordHandler,
             consumerHealthIndicatorAwareRebalanceListener,
-            () -> applicationContext.close());
+            closeCallback);
   }
 
   @Bean
-  public RecordHandler<String, Long> recordHandler(ApplicationProperties properties)
+  public RecordHandler<String, Long> recordHandler()
   {
     return (topic, partition, offset, key, value) -> log.info("No-Ops Handler called for {}={}", key, value);
   }
@@ -56,6 +56,12 @@ public class ApplicationConfiguration
     return new ConsumerHealthIndicator(clock);
   }
 
+  @Bean
+  public Runnable closeCallback(ConfigurableApplicationContext applicationContext)
+  {
+    return () -> applicationContext.close();
+  }
+
   @Bean
   public Clock clock()
   {