Module org.jooq
Package org.jooq

Interface ContextTransactionalCallable<T>

Functional Interface:
This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.

@FunctionalInterface public interface ContextTransactionalCallable<T>
An 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.

Lukas Eder
  • Method Summary

    Modifier and Type
    Run the transactional code.
  • Method Details

    • run

      T run() throws Throwable
      Run the transactional code.

      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.

      The outcome of the transaction.
      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.