Module org.jooq
Package org.jooq

Interface ContextTransactionalRunnable

  • 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 ContextTransactionalRunnable
    An FunctionalInterface that wraps transactional code.

    This runnable 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 Detail

      • run

        void 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 ContextTransactionalRunnable.

        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 ContextTransactionalRunnable.