Das Topic wird über `spring.kafka.template.default-topic` konfiguriert
[demos/kafka/training] / src / main / resources / application.yml
index 726204e..ce26258 100644 (file)
@@ -1,11 +1,6 @@
 producer:
-  bootstrap-server: :9092
   client-id: DEV
   topic: test
-  acks: -1
-  batch-size: 16384
-  linger-ms: 0
-  compression-type: gzip
 management:
   endpoint:
     shutdown:
@@ -21,13 +16,32 @@ management:
       enabled: true
 info:
   kafka:
-    bootstrap-server: ${producer.bootstrap-server}
+    bootstrap-servers: ${spring.kafka.bootstrap-servers}
     client-id: ${producer.client-id}
-    topic: ${producer.topic}
-    acks: ${producer.acks}
-    batch-size: ${producer.batch-size}
-    linger-ms: ${producer.linger-ms}
-    compression-type: ${producer.compression-type}
+    topic: ${spring.kafka.template.default-topic}
+    acks: ${spring.kafka.producer.acks}
+    batch-size: ${spring.kafka.producer.batch-size}
+    linger-ms: ${spring.kafka.producer.properties.linger.ms}
+    compression-type: ${spring.kafka.producer.compression-type}
+spring:
+  kafka:
+    bootstrap-servers: :9092
+    producer:
+      acks: -1
+      batch-size: 16384
+      compression-type: gzip
+      key-serializer: org.apache.kafka.common.serialization.StringSerializer
+      value-serializer: org.springframework.kafka.support.serializer.JsonSerializer
+      properties:
+        linger.ms: 0
+        delivery.timeout.ms: 20000 # 20 Sekunden
+        request.timeout.ms: 10000 # 10 Sekunden
+        spring.json.type.mapping: >
+          message:de.juplo.kafka.ClientMessage,
+          foo:de.juplo.kafka.FooMessage,
+          greeting:de.juplo.kafka.Greeting
+    template:
+      default-topic: test
 logging:
   level:
     root: INFO