Springify: ROT - Auto Startup in @KafkaListener deaktiviert
[demos/kafka/training] / src / main / java / de / juplo / kafka / Application.java
1 package de.juplo.kafka;
2
3 import lombok.extern.slf4j.Slf4j;
4 import org.springframework.beans.factory.annotation.Autowired;
5 import org.springframework.beans.factory.annotation.Value;
6 import org.springframework.boot.ApplicationArguments;
7 import org.springframework.boot.ApplicationRunner;
8 import org.springframework.boot.SpringApplication;
9 import org.springframework.boot.autoconfigure.SpringBootApplication;
10 import org.springframework.kafka.config.KafkaListenerEndpointRegistry;
11
12 import javax.annotation.PreDestroy;
13
14
15 @SpringBootApplication
16 @Slf4j
17 public class Application implements ApplicationRunner
18 {
19   @Autowired
20   KafkaListenerEndpointRegistry registry;
21   @Value("${consumer.client-id}")
22   String clientId;
23
24
25   @Override
26   public void run(ApplicationArguments args) throws Exception
27   {
28     log.info("Starting EndlessConsumer");
29     this.registry.getListenerContainer(clientId).start();
30   }
31
32   @PreDestroy
33   public void stopExecutor()
34   {
35     log.info("Stopping EndlessConsumer");
36     this.registry.getListenerContainer(clientId).stop();
37   }
38
39
40   public static void main(String[] args)
41   {
42     SpringApplication.run(Application.class, args);
43   }
44 }