1 package de.juplo.kafka.chat.backend.implementation.kafka;
3 import jakarta.annotation.PreDestroy;
4 import lombok.RequiredArgsConstructor;
5 import lombok.extern.slf4j.Slf4j;
6 import org.springframework.boot.ApplicationArguments;
7 import org.springframework.boot.ApplicationRunner;
8 import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
9 import org.springframework.stereotype.Component;
12 @ConditionalOnProperty(
13 prefix = "chat.backend",
15 havingValue = "kafka")
17 @RequiredArgsConstructor
19 public class KafkaServicesApplicationRunner implements ApplicationRunner
21 private final ConsumerTaskRunner consumerTaskRunner;
25 public void run(ApplicationArguments args) throws Exception
27 consumerTaskRunner.executeConsumerTasks();
31 public void joinConsumerTasks() throws InterruptedException
33 consumerTaskRunner.joinConsumerTasks();