com.holonplatform.reactor.datastore.transaction

## Interface ReactiveTransaction

- All Superinterfaces:
    com.holonplatform.core.datastore.transaction.TransactionStatus

      public interface ReactiveTransaction
      extends com.holonplatform.core.datastore.transaction.TransactionStatus

  Represents an reactive Datastore transaction, providing methods to commit and rollback the transaction.
  Since:
    5.2.0

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from interface com.holonplatform.core.datastore.transaction.TransactionStatus

      `com.holonplatform.core.datastore.transaction.TransactionStatus.IllegalTransactionStatusException, com.holonplatform.core.datastore.transaction.TransactionStatus.TransactionException, com.holonplatform.core.datastore.transaction.TransactionStatus.TransactionNotSupportedException`

  - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `reactor.core.publisher.Mono<Boolean>` | `commit()` Commit the transaction.
    `reactor.core.publisher.Mono<Void>` | `rollback()` Rollback the transaction.

    - ### Methods inherited from interface com.holonplatform.core.datastore.transaction.TransactionStatus

      `isActive, isCompleted, isNew, isRollbackOnly, setRollbackOnly`

- - ### Method Detail

    - #### commit

          reactor.core.publisher.Mono<Boolean> commit()

      Commit the transaction.

      If the transaction has been marked as rollback-only, a rollback action is performed.

      Returns:
        A `Mono` which can be used to handle the operation outcome. The result will be `true` if the transaction was actually committed, or `false` if it was rolled back because the the transaction has been marked as rollback-only
      Throws:
        `IllegalTransactionStatusException` - If the transaction is already completed (that is, committed or rolled back)
        `TransactionException` - If an error occurred during transaction commit

    - #### rollback

          reactor.core.publisher.Mono<Void> rollback()

      Rollback the transaction.
      Returns:
        A `Mono` which can be used to handle the operation outcome. No result value is expected.
      Throws:
        `IllegalTransactionStatusException` - If the transaction is already completed (that is, committed or rolled back)
        `TransactionException` - If an error occurred during transaction rollback

Copyright © 2019 The Holon Platform. All rights reserved.