Module org.jooq
Package org.jooq

Interface TransactionalRunnable

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

    Transactional code should not depend on any captured scope, but use the argument Configuration passed to the run(Configuration) method to derive its transaction context.

    If transactional code needs to depend on captured scope ("context"), then ContextTransactionalRunnable is a better fit.

    Author:
    Lukas Eder
    • Method Detail

      • run

        void run​(Configuration configuration)
          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 TransactionalRunnable.

        Parameters:
        configuration - The Configuration in whose context the transaction is run.
        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 TransactionalRunnable.