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 Summary

    Modifier and Type
    Method
    Description
    void
    run()
    Run the transactional code.
  • Method Details

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