Class OracleTransactionPriorityException

All Implemented Interfaces:
Serializable

public class OracleTransactionPriorityException extends TransactionSystemException
Thrown when Oracle automatically rolls back a transaction because it was blocking a transaction with a higher priority.

Oracle reports this condition with ORA-63300 while the statement that caused the rollback is executing and with ORA-63302 for subsequent statements until the session acknowledges the rollback.

Since:
5.2
See Also:
  • Field Details

    • ORA_TRANSACTION_AUTOMATICALLY_ROLLED_BACK

      public static final int ORA_TRANSACTION_AUTOMATICALLY_ROLLED_BACK
      Oracle automatically rolled back a transaction blocking higher-priority work.
      See Also:
    • ORA_TRANSACTION_MUST_ROLLBACK

      public static final int ORA_TRANSACTION_MUST_ROLLBACK
      Oracle requires the session to acknowledge a priority rollback.
      See Also:
  • Constructor Details

    • OracleTransactionPriorityException

      public OracleTransactionPriorityException(String message)
      Parameters:
      message - The detail message
    • OracleTransactionPriorityException

      public OracleTransactionPriorityException(String message, Throwable cause)
      Parameters:
      message - The detail message
      cause - The Oracle exception that caused the transaction rollback
  • Method Details

    • isPriorityRollback

      public static boolean isPriorityRollback(Throwable exception)
      Tests whether an exception contains an Oracle priority-rollback error. Database drivers can expose the error as a nested cause or as a chained SQLException, so both forms are checked.
      Parameters:
      exception - The exception to inspect
      Returns:
      true if ORA-63300 or ORA-63302 is present