Auf `@KafkaHandler` umgestellt
[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.boot.ApplicationArguments;
6 import org.springframework.boot.ApplicationRunner;
7 import org.springframework.boot.SpringApplication;
8 import org.springframework.boot.autoconfigure.SpringBootApplication;
9
10 import javax.annotation.PreDestroy;
11
12
13 @SpringBootApplication
14 @Slf4j
15 public class Application implements ApplicationRunner
16 {
17   @Autowired
18   EndlessConsumer endlessConsumer;
19
20
21   @Override
22   public void run(ApplicationArguments args) throws Exception
23   {
24     log.info("Starting EndlessConsumer");
25     endlessConsumer.start();
26   }
27
28   @PreDestroy
29   public void shutdown()
30   {
31     try
32     {
33       log.info("Stopping EndlessConsumer");
34       endlessConsumer.stop();
35     }
36     catch (IllegalStateException e)
37     {
38       log.info("Was already stopped: {}", e.toString());
39     }
40     catch (Exception e)
41     {
42       log.error("Unexpected exception while stopping EndlessConsumer: {}", e);
43     }
44   }
45
46
47   public static void main(String[] args)
48   {
49     SpringApplication.run(Application.class, args);
50   }
51 }