package de.juplo.kafka.chat.backend.implementation.kafka;
+import jakarta.annotation.PreDestroy;
import lombok.RequiredArgsConstructor;
-import lombok.extern.slf4j.Slf4j;
import org.springframework.boot.ApplicationArguments;
import org.springframework.boot.ApplicationRunner;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
havingValue = "kafka")
@Component
@RequiredArgsConstructor
-@Slf4j
public class KafkaServicesApplicationRunner implements ApplicationRunner
{
- private final ConsumerTaskExecutor chatRoomChannelTaskExecutor;
+ private final ConsumerTaskRunner consumerTaskRunner;
@Override
- public void run(ApplicationArguments args) throws Exception
+ public void run(ApplicationArguments args)
{
- chatRoomChannelTaskExecutor.executeConsumerTask();
+ consumerTaskRunner.executeConsumerTasks();
+ }
+
+ @PreDestroy
+ public void joinConsumerTasks() throws InterruptedException
+ {
+ consumerTaskRunner.joinConsumerTasks();
}
}