Enum PropagationLevel

java.lang.Object
java.lang.Enum<PropagationLevel>
org.multiverse.api.PropagationLevel
All Implemented Interfaces:
Serializable, Comparable<PropagationLevel>, java.lang.constant.Constable

public enum PropagationLevel extends Enum<PropagationLevel>
With the PropagationLevel you have control on how the TxnExecutor reacts on the existence or the non existence of a Txn.
See Also:
  • Enum Constant Details

    • RequiresNew

      public static final PropagationLevel RequiresNew
      Indicates that a new transaction always is started, even when there is an active transaction. The active transaction is postponed and used again after the nested transaction commits. It could be that the outer transaction conflicts made on changes by the inner transaction.
    • Requires

      public static final PropagationLevel Requires
      Indicates that a new transaction will be used if none exists. If one exists, the logic will lift on that transaction. This is the default propagation level.
    • Mandatory

      public static final PropagationLevel Mandatory
      Indicates that a transaction should always be available. If not, a TxnMandatoryException is thrown.
    • Supports

      public static final PropagationLevel Supports
      Indicates that it the logic can either be run with or without transaction.
    • Never

      public static final PropagationLevel Never
      Indicates that no active transaction should be available. If a transaction is found, a TxnNotAllowedException is thrown.
  • Constructor Details

    • PropagationLevel

      private PropagationLevel()
  • Method Details

    • values

      public static PropagationLevel[] values()
      Returns an array containing the constants of this enum type, in the order they are declared.
      Returns:
      an array containing the constants of this enum type, in the order they are declared
    • valueOf

      public static PropagationLevel valueOf(String name)
      Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
      Parameters:
      name - the name of the enum constant to be returned.
      Returns:
      the enum constant with the specified name
      Throws:
      IllegalArgumentException - if this enum type has no constant with the specified name
      NullPointerException - if the argument is null