|
@@ -58,17 +58,16 @@ public class Service extends AbstractService {
|
|
|
public CompletableFuture<World[]> updateWorld(@RestParam(name = "queries") int count) {
|
|
|
count = Math.min(500, Math.max(1, count));
|
|
|
final World[] rs = new World[count];
|
|
|
- final CompletableFuture<World>[] futures = new CompletableFuture[count];
|
|
|
+ final CompletableFuture<Integer>[] futures = new CompletableFuture[count];
|
|
|
for (int i = 0; i < count; i++) {
|
|
|
final int index = i;
|
|
|
- futures[index] = source.findAsync(World.class, randomId()).whenComplete((w, t) -> {
|
|
|
+ futures[index] = source.findAsync(World.class, randomId()).thenCompose(w -> {
|
|
|
rs[index] = w;
|
|
|
rs[index].setRandomNumber(randomId());
|
|
|
+ return source.updateAsync(w);
|
|
|
});
|
|
|
}
|
|
|
- return CompletableFuture.allOf(futures).thenCompose((r) -> {
|
|
|
- return source.updateAsync(rs).thenApply((v) -> rs);
|
|
|
- });
|
|
|
+ return CompletableFuture.allOf(futures).thenApply((v) -> rs);
|
|
|
}
|
|
|
|
|
|
@RestMapping(name = "fortunes")
|