@RequestHeader(name = "X-id", required = false) Long correlationId,
@RequestBody Integer number)
{
- // TODO: Wenn anstatt der Zahl "number" #number Nachrichten versendet
- // werden muss der Zähler der folgenden Hilfsklasse entsprechend von
- // 1 auf number angepasst werden!
- ResultRecorder result = new ResultRecorder(1);
+ // Der Service verschickt für eine Zahl n immer n+1 Nachrichten.
+ // Für n=3 z.B.:
+ // ADD: { "number": 3, "next": 1 }
+ // ADD: { "number": 3, "next": 2 }
+ // ADD: { "number": 3, "next": 3 }
+ // CALC: { "number": 3 }
- send(key, number, correlationId, result);
+ ResultRecorder result = new ResultRecorder(number+1);
+
+ for (int i = 1; i <= number; i++)
+ {
+ send(key, new AddNumberMessage(number, i), correlationId, result);
+ }
+ send(key, new CalculateSumMessage(number), correlationId, result);
return result.getDeferredResult();
}