OctaviusJdbcTransactionManager
A transaction manager for a DataSource that runs each transaction through an OctaviusSession, so a failure of the database or the connection leaves it as the driver's own exception.
The session is opened when the transaction begins and closed when it ends, and every OctaviusTemplate.execute inside the transaction runs through it.
A transaction whose connection is already gone follows two rules. A commit raises, because the work is not durable. A rollback stays quiet, because the server discarded the transaction with the connection, and raising would replace the exception that caused the rollback. The savepoint of Propagation.NESTED follows the same two: releasing it raises, rolling back to it stays quiet.
@Transactional(timeout = ...) is enforced on the server, as timeoutScope names.
OctaviusSpringAutoConfiguration registers it when the application declares no transaction manager of its own.
Properties
The data source whose connections the transactions run on.
What a transaction's timeout is enforced on: each statement, and a connection that survives one running out, or the transaction as a whole, and a connection that does not. TransactionTimeoutScope.STATEMENT unless set - see TransactionTimeoutScope.
Functions
Picks up the session of a transaction this manager is running; one OctaviusTemplate bound is not one.
Rolls back, and stays quiet for a transaction whose connection is already gone.
Sends the transaction's timeout, where it has one, as the setting timeoutScope names.