public interface ReadTransactionContext
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 Function
s 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.Modifier and Type | Method and Description |
---|---|
java.util.concurrent.Executor |
getExecutor()
Retrieves the
Executor used by this TransactionContext when running
asynchronous callbacks. |
<T> T |
read(java.util.function.Function<? super ReadTransaction,T> retryable)
Runs a function in this context that takes a read-only transaction.
|
<T> java.util.concurrent.CompletableFuture<T> |
readAsync(java.util.function.Function<? super ReadTransaction,? extends java.util.concurrent.CompletableFuture<T>> retryable)
Runs a function in this context that takes a read-only transaction.
|
<T> T read(java.util.function.Function<? super ReadTransaction,T> retryable)
T
- the return type of retryable
retryable
- the block of logic to execute against a ReadTransaction
in this contextretryable
<T> java.util.concurrent.CompletableFuture<T> readAsync(java.util.function.Function<? super ReadTransaction,? extends java.util.concurrent.CompletableFuture<T>> retryable)
CompletableFuture
that will be set when the process is complete.T
- the return type of retryable
retryable
- the block of logic to execute against a ReadTransaction
in this contextCompletableFuture
that will be set to the value returned by the last call
to retryable
java.util.concurrent.Executor getExecutor()
Executor
used by this TransactionContext
when running
asynchronous callbacks.Executor
used by this TransactionContext