Enum TransactionPhase

  • All Implemented Interfaces:
    Serializable, Comparable<TransactionPhase>

    public enum TransactionPhase
    extends Enum<TransactionPhase>

    Distinguishes the various kinds of transactional observer methods from regular observer methods which are notified immediately.

    Transactional observer methods are observer methods which receive event notifications during the before or after completion phase of the transaction in which the event was fired. If no transaction is in progress when the event is fired, they are notified at the same time as other observers. If the transaction is in progress, but jakarta.transaction.Synchronization callback cannot be registered due to the transaction being already marked for rollback or in state where jakarta.transaction.Synchronization callbacks cannot be registered, the BEFORE_COMPLETION, AFTER_COMPLETION and AFTER_FAILURE observer methods are notified at the same time as other observers, but AFTER_SUCCESS observer methods get skipped.

    Author:
    Pete Muir, Gavin King
    • Enum Constant Detail

      • IN_PROGRESS

        public static final TransactionPhase IN_PROGRESS

        Identifies a regular observer method, called when the event is fired.

      • BEFORE_COMPLETION

        public static final TransactionPhase BEFORE_COMPLETION

        Identifies a before completion observer method, called during the before completion phase of the transaction.

        Transactional observer will be notified if there is no transaction in progress, or the transaction is in progress, but jakarta.transaction.Synchronization callback cannot be registered due to the transaction being already marked for rollback or in state where jakarta.transaction.Synchronization callbacks cannot be registered.

      • AFTER_COMPLETION

        public static final TransactionPhase AFTER_COMPLETION

        Identifies an after completion observer method, called during the after completion phase of the transaction.

        Transactional observer will be notified if there is no transaction in progress, or the transaction is in progress, but jakarta.transaction.Synchronization callback cannot be registered due to the transaction being already marked for rollback or in state where jakarta.transaction.Synchronization callbacks cannot be registered.

      • AFTER_FAILURE

        public static final TransactionPhase AFTER_FAILURE

        Identifies an after failure observer method, called during the after completion phase of the transaction, only when the transaction fails.

        Transactional observer will be notified will also get invoked if there is no transaction in progress, or the transaction is in progress, but jakarta.transaction.Synchronization callback cannot be registered due to the transaction being already marked for rollback or in state where jakarta.transaction.Synchronization callbacks cannot be registered.

      • AFTER_SUCCESS

        public static final TransactionPhase AFTER_SUCCESS

        Identifies an after success observer method, called during the after completion phase of the transaction, only when the transaction completes successfully.

    • Method Detail

      • values

        public static TransactionPhase[] values()
        Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:
        for (TransactionPhase c : TransactionPhase.values())
            System.out.println(c);
        
        Returns:
        an array containing the constants of this enum type, in the order they are declared
      • valueOf

        public static TransactionPhase 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