class ReactiveTransactions extends AnyRef
An asynchronous version of Transactions, allowing transactions to be created and run in an asynchronous manner.
- Alphabetic
- By Inheritance
- ReactiveTransactions
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @IntrinsicCandidate() @native()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @IntrinsicCandidate() @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @IntrinsicCandidate() @native()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @IntrinsicCandidate() @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @IntrinsicCandidate() @native()
- def run(transactionLogic: (ReactiveTransactionAttemptContext) => SMono[Unit]): SMono[TransactionResult]
A convenience overload of ReactiveTransactions.run() that provides default options.
- def run(transactionLogic: (ReactiveTransactionAttemptContext) => SMono[Unit], options: TransactionOptions): SMono[TransactionResult]
Runs the supplied transactional logic until success or failure.
Runs the supplied transactional logic until success or failure.
This is the asynchronous version of Transactions.run(), so to cover the differences:
- The transaction logic is supplied with a ReactiveTransactionAttemptContext, which contains asynchronous methods to allow it to read, mutate, insert and delete documents.
- The transaction logic should run these methods as a Reactor chain - as standard with reactive programming.
- The transaction logic should return a
SMono[Unit]
. - This method returns a
SMono[TransactionResult]
, which should be handled as a normal Reactor SMono.
- transactionLogic
the application's transaction logic
- options
the configuration to use for this transaction
- returns
there is no need to check the returned
TransactionResult
, as success is implied by the lack of a raised exception. It contains information useful only for debugging and logging.
- Exceptions thrown
[[TransactionFailedException]]
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.
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
Deprecated Value Members
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable]) @Deprecated
- Deprecated
(Since version 9)
- def run(transactionLogic: (ReactiveTransactionAttemptContext) => SMono[Unit], options: Option[TransactionOptions] = None): SMono[TransactionResult]
- Annotations
- @deprecated
- Deprecated
Users should use the overload that takes a TransactionsOption directly rather than an Option