Implementierung vereinfacht & an Spring-Beispiele angepasst
[demos/kafka/training] / src / main / java / de / juplo / kafka / Application.java
index 0069257..b2f0817 100644 (file)
@@ -2,11 +2,33 @@ package de.juplo.kafka;
 
 import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.boot.autoconfigure.kafka.KafkaProperties;
+import org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.context.annotation.Bean;
+import org.springframework.kafka.annotation.EnableKafka;
+import org.springframework.kafka.core.KafkaTemplate;
 
 
 @SpringBootApplication
+@EnableConfigurationProperties({ KafkaProperties.class, ApplicationProperties.class })
+@EnableKafka
 public class Application
 {
+  @Bean
+  public RestGateway restGateway(
+      ApplicationProperties applicationProperties,
+      KafkaProperties kafkaProperties,
+      KafkaTemplate<String, Integer> kafkaTemplate)
+  {
+    return
+        new RestGateway(
+            kafkaProperties.getClientId(),
+            applicationProperties.getTopic(),
+            applicationProperties.getPartition(),
+            kafkaTemplate);
+  }
+
+
   public static void main(String[] args)
   {
     SpringApplication.run(Application.class, args);