Interface ManagedNewTransactionRunner
-
- All Superinterfaces:
ManagedTransactionFactory
- All Known Implementing Classes:
ManagedNewTransactionRunnerImpl
,RetryingManagedNewTransactionRunner
@Beta public interface ManagedNewTransactionRunner extends ManagedTransactionFactory
Managed transactions utility to simplify handling of new transactions and ensure they are always closed. Implementation inManagedNewTransactionRunnerImpl
, alternative implementation of this API with optional retries isRetryingManagedNewTransactionRunner
.This should typically be used (only) directly in code which really must be creating its own new transactions, such as RPC entry points, or background jobs. Other lower level code "behind" such entry points should just get handed over the transaction provided by this API.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description <R> R
applyWithNewTransactionChainAndClose(Function<ManagedTransactionChain,R> chainConsumer)
Invokes a function with a newManagedTransactionChain
, which is a wrapper around standard transaction chains providing managed semantics.-
Methods inherited from interface org.opendaylight.mdsal.binding.util.ManagedTransactionFactory
applyInterruptiblyWithNewReadOnlyTransactionAndClose, applyWithNewReadOnlyTransactionAndClose, applyWithNewReadWriteTransactionAndSubmit, callInterruptiblyWithNewReadOnlyTransactionAndClose, callWithNewReadOnlyTransactionAndClose, callWithNewReadWriteTransactionAndSubmit, callWithNewWriteOnlyTransactionAndSubmit
-
-
-
-
Method Detail
-
applyWithNewTransactionChainAndClose
<R> R applyWithNewTransactionChainAndClose(Function<ManagedTransactionChain,R> chainConsumer)
Invokes a function with a newManagedTransactionChain
, which is a wrapper around standard transaction chains providing managed semantics. The transaction chain will be closed when the function returns.This is an asynchronous API, like
DataBroker
's own; when this method returns, the transactions in the chain may well still be ongoing in the background, or pending. It is up to the consumer and caller to agree on how failure will be handled; for example, the return type can include the futures corresponding to the transactions in the chain. The implementation uses a default transaction chain listener which logs an error if any of the transactions fail.The MD-SAL transaction chain semantics are preserved: each transaction in the chain will see the results of the previous transactions in the chain, even if they haven't been fully committed yet; and any error will result in subsequent transactions in the chain not being submitted.
- Type Parameters:
R
- The type of result returned by the function.- Parameters:
chainConsumer
- TheFunction
that will build transactions in the transaction chain.- Returns:
- The result of the function call.
-
-