@FunctionalInterface public interface ContextTransactionalCallable<T>
FunctionalInterface
that wraps transactional code.
This callable may depend on captured scope ("context") in order to discover a
contextual Configuration
to be used to create new SQL statements.
Clients are responsible to implement such context state in appropriate
ConnectionProvider
and TransactionProvider
implementations.
An out-of-the-box implementation for a fitting TransactionProvider
is
available through ThreadLocalTransactionProvider
.
Modifier and Type | Method and Description |
---|---|
T |
run()
Run the transactional code.
|
T run() throws Throwable
If this method completes normally, and this is not a nested transaction,
then the transaction will be committed. If this method completes with an
exception (any Throwable
), then the transaction is rolled back to
the beginning of this ContextTransactionalCallable
.
Throwable
- Any exception that will cause a rollback of the code
contained in this transaction. If this is a nested
transaction, the rollback may be performed only to the state
before executing this
ContextTransactionalCallable
.Copyright © 2019. All rights reserved.