Springify: ROT - Merge des verschärften Tests aus der Vanilla-Version
[demos/kafka/training] / src / main / java / de / juplo / kafka / ApplicationConfiguration.java
1 package de.juplo.kafka;
2
3 import org.apache.kafka.clients.consumer.ConsumerRecord;
4 import org.springframework.boot.context.properties.EnableConfigurationProperties;
5 import org.springframework.context.annotation.Bean;
6 import org.springframework.context.annotation.Configuration;
7 import org.springframework.kafka.config.ConcurrentKafkaListenerContainerFactory;
8 import org.springframework.kafka.config.KafkaListenerContainerFactory;
9 import org.springframework.kafka.core.ConsumerFactory;
10 import org.springframework.kafka.listener.CommonContainerStoppingErrorHandler;
11
12 import java.util.function.Consumer;
13
14
15 @Configuration
16 @EnableConfigurationProperties(ApplicationProperties.class)
17 public class ApplicationConfiguration
18 {
19   @Bean
20   public Consumer<ConsumerRecord<String, Long>> consumer()
21   {
22     return (record) ->
23     {
24       // Handle record
25     };
26   }
27
28   @Bean
29   public KafkaListenerContainerFactory<?> batchFactory(ConsumerFactory<String, Long> consumerFactory)
30   {
31     ConcurrentKafkaListenerContainerFactory<String, Long> factory =
32         new ConcurrentKafkaListenerContainerFactory<>();
33
34     factory.setConsumerFactory(consumerFactory);
35     factory.setBatchListener(true);
36
37     return factory;
38   }
39
40   @Bean
41   public CommonContainerStoppingErrorHandler errorHandler()
42   {
43     return new CommonContainerStoppingErrorHandler();
44   }
45 }