Über `?error=1` kann ein Fehler den Nachrichtenstrom eingebettet werden
[demos/kafka/training] / src / main / java / de / juplo / kafka / RestProducer.java
index 4be2dcd..53064f1 100644 (file)
@@ -28,13 +28,15 @@ public class RestProducer
   public DeferredResult<ProduceResult> send(
       @PathVariable String key,
       @RequestHeader(name = "X-id", required = false) Long correlationId,
-      @RequestBody Integer number)
+      @RequestBody Integer number,
+      @RequestParam(required = false) boolean error)
   {
     ResultRecorder result = new ResultRecorder(number+1);
 
     for (int i = 1; i <= number; i++)
     {
-      send(key, new AddNumberMessage(number, i), correlationId, result);
+      int next = error && i == (number+1)/2 ? i * -1 : i;
+      send(key, new AddNumberMessage(number, next), correlationId, result);
     }
     send(key, new CalculateSumMessage(number), correlationId, result);