import com.google.common.util.concurrent.FutureCallback;
import com.google.common.util.concurrent.Futures;
import com.google.common.util.concurrent.ListenableFuture;
+import com.google.common.util.concurrent.MoreExecutors;
import com.google.common.util.concurrent.SettableFuture;
import java.util.ArrayList;
import java.util.Collection;
final AsyncFunction<Void, Void> prepareFunction = input -> commit();
// transform validate into prepare
- final ListenableFuture<Void> prepareFuture = Futures.transform(validate(), validateFunction);
+ final ListenableFuture<Void> prepareFuture = Futures.transformAsync(validate(), validateFunction,
+ MoreExecutors.directExecutor());
// transform prepare into commit and return as submit result
- return Futures.transform(prepareFuture, prepareFunction);
+ return Futures.transformAsync(prepareFuture, prepareFunction, MoreExecutors.directExecutor());
}
@Override
public void onFailure(final Throwable throwable) {
ret.setException(throwable);
}
- });
+ }, MoreExecutors.directExecutor());
return ret;
}
public void onFailure(final Throwable throwable) {
ret.setException(throwable);
}
- });
+ }, MoreExecutors.directExecutor());
return ret;
}
public void onFailure(final Throwable throwable) {
ret.setException(throwable);
}
- });
+ }, MoreExecutors.directExecutor());
return ret;
}