Vorlage
[demos/kafka/training] / src / main / java / de / juplo / kafka / ApplicationConfiguration.java
1 package de.juplo.kafka;
2
3 import org.apache.kafka.clients.consumer.Consumer;
4 import org.springframework.boot.autoconfigure.kafka.KafkaProperties;
5 import org.springframework.boot.context.properties.EnableConfigurationProperties;
6 import org.springframework.context.annotation.Bean;
7 import org.springframework.context.annotation.Configuration;
8
9 import org.springframework.kafka.core.ConsumerFactory;
10
11
12 @Configuration
13 @EnableConfigurationProperties({ KafkaProperties.class, ApplicationProperties.class })
14 public class ApplicationConfiguration
15 {
16   @Bean
17   public SimpleConsumer simpleConsumer(
18       Consumer<String, String> kafkaConsumer,
19       KafkaProperties kafkaProperties,
20       ApplicationProperties applicationProperties)
21   {
22     return
23         new SimpleConsumer(
24             kafkaProperties.getClientId(),
25             applicationProperties.getTopic(),
26             kafkaConsumer);
27   }
28
29   @Bean
30   public Consumer<?, ?> kafkaConsumer(ConsumerFactory<?, ?> factory)
31   {
32     return factory.createConsumer();
33   }
34 }