Interface AsyncTransactionManager.AsyncTransactionStep<I,​O>

  • All Superinterfaces:
    com.google.api.core.ApiFuture<O>, Future<O>
    Enclosing interface:
    AsyncTransactionManager

    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();