f26d7a20538517b68bda028890af513406d5966a
[demos/kafka/training] / src / main / java / de / juplo / kafka / Application.java
1 package de.juplo.kafka;
2
3 import org.springframework.boot.SpringApplication;
4 import org.springframework.boot.autoconfigure.SpringBootApplication;
5 import org.springframework.boot.autoconfigure.kafka.KafkaProperties;
6 import org.springframework.boot.context.properties.EnableConfigurationProperties;
7 import org.springframework.context.annotation.Bean;
8 import org.springframework.kafka.core.KafkaOperations;
9 import org.springframework.kafka.listener.DeadLetterPublishingRecoverer;
10 import org.springframework.kafka.listener.DefaultErrorHandler;
11 import org.springframework.util.backoff.FixedBackOff;
12
13
14 @SpringBootApplication
15 @EnableConfigurationProperties({ KafkaProperties.class, ApplicationProperties.class })
16 public class Application
17 {
18   @Bean
19   public DeadLetterPublishingRecoverer deadLetterPublishingRecoverer(
20     KafkaOperations<?, ?> kafkaTemplate)
21   {
22     return new DeadLetterPublishingRecoverer(kafkaTemplate);
23   }
24
25   @Bean
26   public DefaultErrorHandler errorHandler(
27     DeadLetterPublishingRecoverer recoverer)
28   {
29     return new DefaultErrorHandler(
30       recoverer,
31       new FixedBackOff(0l, 0l));
32   }
33
34
35   public static void main(String[] args)
36   {
37     SpringApplication.run(Application.class, args);
38   }
39 }