public static interface AsyncTransactionManager.AsyncTransactionStep<I,O>
extends com.google.api.core.ApiFuture<O>
AsyncTransactionManager.AsyncTransactionStep
is returned by TransactionContextFuture#then(AsyncTransactionFunction)
and AsyncTransactionStep#then(AsyncTransactionFunction)
and allows transaction steps that should
be executed serially to be chained together. Each step can contain one or more statements that
may execute in parallel.
Example usage:
final String column = "FirstName";
final long singerId = 1L;
AsyncTransactionManager manager = client.transactionManagerAsync();
TransactionContextFuture txnFuture = manager.beginAsync();
txnFuture
.then((transaction, ignored) ->
transaction.readRowAsync("Singers", Key.of(singerId), Collections.singleton(column)),
executor)
.then((transaction, row) ->
transaction.bufferAsync(
Mutation.newUpdateBuilder("Singers")
.set(column).to(row.getString(column).toUpperCase())
.build()),
executor)
.commitAsync();
Modifier and Type | Method and Description |
---|---|
AsyncTransactionManager.CommitTimestampFuture |
commitAsync()
Commits the transaction and returns a
AsyncTransactionManager.CommitTimestampFuture that will return the
commit timestamp of the transaction, or throw the first uncaught exception in the transaction
chain as an ExecutionException . |
<RES> AsyncTransactionManager.AsyncTransactionStep<O,RES> |
then(AsyncTransactionManager.AsyncTransactionFunction<O,RES> next,
Executor executor)
Adds a step to the transaction chain that should be executed using the specified executor.
|
<RES> AsyncTransactionManager.AsyncTransactionStep<O,RES> then(AsyncTransactionManager.AsyncTransactionFunction<O,RES> next, Executor executor)
MoreExecutors.directExecutor()
can be be used for lightweight functions, but should
be avoided for heavy or blocking operations. See also ListenableFuture.addListener(Runnable, Executor)
for further information.AsyncTransactionManager.CommitTimestampFuture commitAsync()
AsyncTransactionManager.CommitTimestampFuture
that will return the
commit timestamp of the transaction, or throw the first uncaught exception in the transaction
chain as an ExecutionException
.Copyright © 2021 Google LLC. All rights reserved.