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.

Author:
Lukas Eder
  • Method Summary

    Modifier and Type
    Method
    Description
    run()
    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.

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