public class DatabaseTransactionException extends FlamingockException
This exception provides comprehensive context about transaction failures including:
This exception should be used for all transaction-related failures in target systems including commit failures, rollback failures, timeout errors, and connection issues.
| Modifier and Type | Class and Description |
|---|---|
static class |
DatabaseTransactionException.RollbackStatus |
static class |
DatabaseTransactionException.TransactionState |
| Constructor and Description |
|---|
DatabaseTransactionException(java.lang.String message,
DatabaseTransactionException.TransactionState transactionState,
java.lang.String isolationLevel,
java.time.Duration timeout,
java.time.Duration actualDuration,
DatabaseTransactionException.RollbackStatus rollbackStatus,
java.lang.String databaseOperation,
java.lang.String connectionInfo,
java.lang.Throwable cause)
Creates a new DatabaseTransactionException with complete transaction context.
|
DatabaseTransactionException(java.lang.String message,
DatabaseTransactionException.TransactionState transactionState,
java.lang.Throwable cause)
Creates a DatabaseTransactionException with minimal context (for backward compatibility).
|
| Modifier and Type | Method and Description |
|---|---|
java.time.Duration |
getActualDuration() |
java.lang.String |
getConnectionInfo() |
java.lang.String |
getDatabaseOperation() |
java.lang.String |
getIsolationLevel() |
DatabaseTransactionException.RollbackStatus |
getRollbackStatus() |
java.time.Duration |
getTimeout() |
DatabaseTransactionException.TransactionState |
getTransactionState() |
static DatabaseTransactionException |
rollbackFailed(java.lang.String message,
java.lang.Throwable cause)
Creates a DatabaseTransactionException for rollback failures.
|
static DatabaseTransactionException |
timeout(java.lang.String message,
java.time.Duration timeout,
java.time.Duration actualDuration,
java.lang.Throwable cause)
Creates a DatabaseTransactionException for transaction timeouts.
|
toFlamingockExceptionpublic DatabaseTransactionException(java.lang.String message,
DatabaseTransactionException.TransactionState transactionState,
java.lang.String isolationLevel,
java.time.Duration timeout,
java.time.Duration actualDuration,
DatabaseTransactionException.RollbackStatus rollbackStatus,
java.lang.String databaseOperation,
java.lang.String connectionInfo,
java.lang.Throwable cause)
message - descriptive error messagetransactionState - the state of the transaction when it failedisolationLevel - the isolation level (e.g., "READ_COMMITTED", "SERIALIZABLE")timeout - the configured transaction timeoutactualDuration - how long the transaction ran before failingrollbackStatus - whether rollback was attempted and succeededdatabaseOperation - the SQL or operation that caused the failureconnectionInfo - connection pool or session informationcause - the underlying database exceptionpublic DatabaseTransactionException(java.lang.String message,
DatabaseTransactionException.TransactionState transactionState,
java.lang.Throwable cause)
message - descriptive error messagetransactionState - the state when the transaction failedcause - the underlying exceptionpublic static DatabaseTransactionException rollbackFailed(java.lang.String message, java.lang.Throwable cause)
message - descriptive error messagecause - the underlying exceptionpublic static DatabaseTransactionException timeout(java.lang.String message, java.time.Duration timeout, java.time.Duration actualDuration, java.lang.Throwable cause)
message - descriptive error messagetimeout - the configured timeoutactualDuration - how long it actually rancause - the underlying exceptionpublic DatabaseTransactionException.TransactionState getTransactionState()
public java.lang.String getIsolationLevel()
public java.time.Duration getTimeout()
public java.time.Duration getActualDuration()
public DatabaseTransactionException.RollbackStatus getRollbackStatus()
public java.lang.String getDatabaseOperation()
public java.lang.String getConnectionInfo()