Vorlage
[demos/kafka/training] / src / main / java / de / juplo / kafka / RestProducer.java
index e68fe66..adf8d95 100644 (file)
@@ -31,13 +31,45 @@ public class RestProducer
       @RequestHeader(name = "X-id", required = false) Long correlationId,
       @RequestBody Integer number)
   {
+    // Der Service verschickt für eine Zahl n immer n+1 Nachrichten.
+    //
+    // TODO:
+    //
+    // Diese Implementierung schickt Strings:
+    // Für n=3 z.B.:
+    // "1"
+    // "2"
+    // "3"
+    // "CALC"
+    //
+    // Nach der Umstellung auf JSON, sollen die JSON-Repräsentation
+    // der Klassen AddNumberMessage und CalcNumberMessage versendet
+    // werden.
+    // Für n=3 z.B.:
+    // ADD:  { "number": 3, "next": 1 }
+    // ADD:  { "number": 3, "next": 2 }
+    // ADD:  { "number": 3, "next": 3 }
+    // CALC: { "number": 3 }
+    // Dabei gibt der String vor dem ":" das Type-Mapping an
+    // das verwendet werden soll.
+
     ResultRecorder result = new ResultRecorder(number+1);
 
     for (int i = 1; i <= number; i++)
     {
-      send(key, new AddNumberMessage(number, i), correlationId, result);
+      // TODO:
+      // Senden Sie
+      // new AddNumberMessage(number, i) <-- Type-Mapping: ADD
+      // anstatt
+      // Integer.valueOf(i)
+      send(key, String.valueOf(i), correlationId, result);
     }
-    send(key, new CalculateSumMessage(number), correlationId, result);
+    // TODO:
+    // Senden Sie
+    // new CalculateSumMessage(number) <-- Type-Mapping: CALC
+    // anstatt
+    // "CALC"
+    send(key, "CALC", correlationId, result);
 
     return result.getDeferredResult();
   }