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
- All
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( ... ) @native() @IntrinsicCandidate()
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @IntrinsicCandidate()
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @IntrinsicCandidate()
-
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
- @native() @IntrinsicCandidate()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @IntrinsicCandidate()
-
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( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
Deprecated Value Members
-
def
finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] ) @Deprecated
- Deprecated
-
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