Package org.jooq

Interface ExecutorProvider

  • All Known Implementing Classes:
    DefaultExecutorProvider
    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 ExecutorProvider
    The ExecutorProvider SPI can be used to provide jOOQ with custom asynchronous execution behaviour.

    Asynchronous operations will call back to this SPI to obtain an executor. This applies, for example, to ResultQuery.fetchAsync().

    The following logic is applied when resolving the appropriate executor:

    1. If Configuration.executorProvider() does not return null, then provide() is called to obtain an Executor for the asynchronous task.
    2. In the jOOQ Java 8 distribution, ForkJoinPool.commonPool() is used if ForkJoinPool.getCommonPoolParallelism() > 1
    3. A new "one thread per call" Executor is used in any other case.

    The SPI will not be called if an asynchronous operation explicitly overrides the Executor, e.g. as is the case for ResultQuery.fetchAsync(Executor).

    Author:
    Lukas Eder
    • Method Detail

      • provide

        java.util.concurrent.Executor provide()
        Provide an Executor for the task at hand.