Interface AsyncTransactionManager.AsyncTransactionStep<I,O> (6.89.0)

publicstaticinterfaceAsyncTransactionManager.AsyncTransactionStep<I,O>extendsApiFuture<O>

AsyncTransactionStep is returned by TransactionContextFuture#then(AsyncTransactionFunction, Executor) and AsyncTransactionStep#then(AsyncTransactionFunction, Executor) 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:

finalStringcolumn="FirstName";finallongsingerId=1L;AsyncTransactionManagermanager=client.transactionManagerAsync();TransactionContextFuturetxnFuture=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();

Implements

com.google.api.core.ApiFuture<O>

Type Parameters

NameDescription
I
O

Methods

<RES>then(AsyncTransactionManager.AsyncTransactionFunction<O,RES> next, Executor executor)

publicabstractAsyncTransactionManager.AsyncTransactionStep<O,RES><RES>then(AsyncTransactionManager.AsyncTransactionFunction<O,RES>next,Executorexecutor)

Adds a step to the transaction chain that should be executed using the specified executor. This step is guaranteed to be executed only after the previous step executed successfully. 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.

Parameters
NameDescription
nextAsyncTransactionFunction<O,RES>
executorExecutor
Returns
TypeDescription
AsyncTransactionStep<O,RES>

commitAsync()

publicabstractAsyncTransactionManager.CommitTimestampFuturecommitAsync()

Commits the transaction and returns a CommitTimestampFuture that will return the commit timestamp of the transaction, or throw the first uncaught exception in the transaction chain as an ExecutionException.

Returns
TypeDescription
AsyncTransactionManager.CommitTimestampFuture