- final Iterable<Object> results;
- try {
- results = Await.result(Futures.sequence(Lists.transform(futures, Entry::getValue),
- ExecutionContexts.global()), timeout.duration());
- } catch (TimeoutException e) {
- successfulFromPrevious = null;
- LOG.debug("{}: processResponses - error from Future", txId, e);
-
- for (Entry<ActorRef, Future<Object>> f : futures) {
- if (!f.getValue().isCompleted()) {
- LOG.info("{}: actor {} failed to respond", txId, f.getKey());
- }
+ aggregateFuture.onComplete(new OnComplete<Iterable<Object>>() {
+ @Override
+ public void onComplete(final Throwable failure, final Iterable<Object> results) {
+ callbackExecutor.execute(
+ () -> processResponses(failure, results, currentState, afterState, returnFuture));