1 package de.juplo.kafka;
3 import lombok.extern.slf4j.Slf4j;
4 import org.apache.kafka.clients.consumer.Consumer;
5 import org.springframework.beans.factory.annotation.Autowired;
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.context.annotation.Bean;
11 import org.springframework.kafka.core.ConsumerFactory;
13 import javax.annotation.PreDestroy;
16 @SpringBootApplication
18 public class Application implements ApplicationRunner
21 Consumer<String, Message> consumer;
23 SimpleConsumer simpleConsumer;
27 public void run(ApplicationArguments args) throws Exception
29 log.info("Starting EndlessConsumer");
30 simpleConsumer.start();
34 public void shutdown()
36 log.info("Signaling the consumer to quit its work");
40 @Bean(destroyMethod = "close")
41 public Consumer<String, Message> kafkaConsumer(ConsumerFactory<String, Message> factory)
43 return factory.createConsumer();
47 public static void main(String[] args)
49 SpringApplication.run(Application.class, args);