Package com.apple.foundationdb
Interface ReadTransactionContext
- All Known Subinterfaces:
Database,ReadTransaction,Tenant,Transaction,TransactionContext
public interface ReadTransactionContext
A context in which a
ReadTransaction is available for database operations. The
behavior of the methods specified in this interface, especially in the face
errors, is implementation specific. In particular, some implementations will
run Functions multiple times (retry) when certain errors are encountered.
Therefore a Function should be prepared to be called more than once. This
consideration means that a Function should use caution when directly
modifying state in a class, especially in a way that could be observed were that
Function to not complete successfully.-
Method Summary
Modifier and TypeMethodDescriptionRetrieves theExecutorused by thisTransactionContextwhen running asynchronous callbacks.<T> Tread(Function<? super ReadTransaction, T> retryable) Runs a function in this context that takes a read-only transaction.<T> CompletableFuture<T>readAsync(Function<? super ReadTransaction, ? extends CompletableFuture<T>> retryable) Runs a function in this context that takes a read-only transaction.
-
Method Details
-
read
Runs a function in this context that takes a read-only transaction. Depending on the type of context, this may execute the supplied function multiple times if an error is encountered. This method is blocking -- control will not return from this call until work is complete.- Type Parameters:
T- the return type ofretryable- Parameters:
retryable- the block of logic to execute against aReadTransactionin this context- Returns:
- a result of the last call to
retryable
-
readAsync
<T> CompletableFuture<T> readAsync(Function<? super ReadTransaction, ? extends CompletableFuture<T>> retryable) Runs a function in this context that takes a read-only transaction. Depending on the type of context, this may execute the supplied function multiple times if an error is encountered. This call is non-blocking -- control flow will return immediately with aCompletableFuturethat will be set when the process is complete.- Type Parameters:
T- the return type ofretryable- Parameters:
retryable- the block of logic to execute against aReadTransactionin this context- Returns:
- a
CompletableFuturethat will be set to the value returned by the last call toretryable
-
getExecutor
Executor getExecutor()Retrieves theExecutorused by thisTransactionContextwhen running asynchronous callbacks.- Returns:
- the
Executorused by thisTransactionContext
-