@Stability.Internal public class CoreTransactionsReactive extends Object
Constructor and Description |
---|
CoreTransactionsReactive(Core core,
CoreTransactionsConfig config) |
Modifier and Type | Method and Description |
---|---|
CoreTransactionsConfig |
config() |
Core |
core() |
CoreTransactionAttemptContext |
createAttemptContext(CoreTransactionContext overall,
CoreMergedTransactionConfig config,
String attemptId) |
Mono<CoreTransactionResult> |
executeTransaction(Mono<CoreTransactionAttemptContext> createAttempt,
CoreMergedTransactionConfig config,
CoreTransactionContext overall,
Function<CoreTransactionAttemptContext,Mono<Void>> transactionLogic,
boolean singleQueryTransactionMode)
The main transactions 'engine', responsible for attempting the transaction logic as many times as required,
until the transaction commits, is explicitly rolled back, or expires.
|
Mono<CoreReactiveQueryResult> |
query(String statement,
CoreQueryContext queryContext,
CoreQueryOptions queryOptions,
Optional<RequestSpan> parentSpan,
Function<Throwable,RuntimeException> errorConverter)
Performs a single query transaction, with a scope context and custom configuration.
|
Mono<CoreQueryResult> |
queryBlocking(String statement,
CoreQueryContext qc,
CoreQueryOptions queryOptions,
Optional<RequestSpan> parentSpan) |
Mono<CoreTransactionResult> |
run(Function<CoreTransactionAttemptContext,Mono<?>> transactionLogic,
CoreTransactionOptions perConfig)
Runs the supplied transactional logic until success or failure.
|
public CoreTransactionsReactive(Core core, CoreTransactionsConfig config)
public Mono<CoreTransactionResult> executeTransaction(Mono<CoreTransactionAttemptContext> createAttempt, CoreMergedTransactionConfig config, CoreTransactionContext overall, Function<CoreTransactionAttemptContext,Mono<Void>> transactionLogic, boolean singleQueryTransactionMode)
public CoreTransactionAttemptContext createAttemptContext(CoreTransactionContext overall, CoreMergedTransactionConfig config, String attemptId)
public Mono<CoreTransactionResult> run(Function<CoreTransactionAttemptContext,Mono<?>> transactionLogic, @Nullable CoreTransactionOptions perConfig)
CoreTransactionAttemptContext
, which contains asynchronous
methods to allow it to read, mutate, insert and delete documents, as well as commit or rollback the
transactions.Mono<Void>
. Any
Flux
or Mono
can be converted to a Mono<Void>
by
calling .then()
on it.Mono<TransactionResult>
, which should be handled
as a normal Reactor Mono.transactionLogic
- the application's transaction logicperConfig
- the configuration to use for this transactionCoreTransactionResult
, as success is implied by the lack of a
thrown exception. It contains information useful only for debugging and logging.CoreTransactionFailedException
- or a derived exception if the transaction fails to commit for any reason, possibly
after multiple retries. The exception contains further details of the error. Notpublic CoreTransactionsConfig config()
public Core core()
public Mono<CoreReactiveQueryResult> query(String statement, @Nullable CoreQueryContext queryContext, CoreQueryOptions queryOptions, Optional<RequestSpan> parentSpan, Function<Throwable,RuntimeException> errorConverter)
public Mono<CoreQueryResult> queryBlocking(String statement, @Nullable CoreQueryContext qc, CoreQueryOptions queryOptions, Optional<RequestSpan> parentSpan)
Copyright © 2024 Couchbase, Inc.. All rights reserved.