@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();
}