package org.theonefx.wcframework.transaction.exception;
/**
* Exception to be thrown when a transaction has timed out.
*
* <p>Thrown by Spring's local transaction strategies if the deadline
* for a transaction has been reached when an operation is attempted,
* according to the timeout specified for the given transaction.
*
* <p>Beyond such checks before each transactional operation, Spring's
* local transaction strategies will also pass appropriate timeout values
* to resource operations (for example to JDBC Statements, letting the JDBC
* driver respect the timeout). Such operations will usually throw native
* resource exceptions (for example, JDBC SQLExceptions) if their operation
* timeout has been exceeded, to be converted to Spring's DataAccessException
* in the respective DAO (which might use Spring's JdbcTemplate, for example).
*
* <p>In a JTA environment, it is up to the JTA transaction coordinator
* to apply transaction timeouts. Usually, the corresponding JTA-aware
* connection pool will perform timeout checks and throw corresponding
* native resource exceptions (for example, JDBC SQLExceptions).
*
* @author Juergen Hoeller
* @since 1.1.5
* @see org.springframework.transaction.support.ResourceHolderSupport#getTimeToLiveInMillis
* @see java.sql.Statement#setQueryTimeout
* @see java.sql.SQLException
*/
public class TransactionTimedOutException extends TransactionException {
private static final long serialVersionUID = 1590914679067441952L;
/**
* Constructor for TransactionTimedOutException.
* @param msg the detail message
*/
public TransactionTimedOutException(String msg) {
super(msg);
}
/**
* Constructor for TransactionTimedOutException.
* @param msg the detail message
* @param cause the root cause from the transaction API in use
*/
public TransactionTimedOutException(String msg, Throwable cause) {
super(msg, cause);
}
}