Das Logging so überarbeitet/umkonfiguriert, dass man den Fehler sieht
[demos/kafka/training] / src / main / java / de / juplo / kafka / RestProducer.java
index 7d9bf12..59d2c77 100644 (file)
@@ -5,14 +5,12 @@ import org.apache.kafka.clients.producer.KafkaProducer;
 import org.apache.kafka.clients.producer.ProducerRecord;
 import org.apache.kafka.common.serialization.StringSerializer;
 import org.springframework.http.HttpStatus;
-import org.springframework.http.MediaType;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.context.request.async.DeferredResult;
 
 import javax.annotation.PreDestroy;
 import java.util.Properties;
 import java.util.concurrent.ExecutionException;
-import java.util.concurrent.ExecutorService;
 
 
 @Slf4j
@@ -21,6 +19,7 @@ public class RestProducer
 {
   private final String id;
   private final String topic;
+  private final Integer partition;
   private final KafkaProducer<String, String> producer;
 
   private long produced = 0;
@@ -29,6 +28,7 @@ public class RestProducer
   {
     this.id = properties.getClientId();
     this.topic = properties.getTopic();
+    this.partition = properties.getPartition();
 
     Properties props = new Properties();
     props.put("bootstrap.servers", properties.getBootstrapServer());
@@ -48,6 +48,7 @@ public class RestProducer
   @PostMapping(path = "{key}")
   public DeferredResult<ProduceResult> send(
       @PathVariable String key,
+      @RequestHeader(name = "X-id", required = false) Long correlationId,
       @RequestBody String value)
   {
     DeferredResult<ProduceResult> result = new DeferredResult<>();
@@ -96,9 +97,8 @@ public class RestProducer
 
     long now = System.currentTimeMillis();
     log.trace(
-        "{} - Queued #{} key={} latency={}ms",
+        "{} - Queued message with key={} latency={}ms",
         id,
-        value,
         record.key(),
         now - time
     );