Module org.jooq
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 Summary

    Modifier and Type
    Method
    Description
    @NotNull Executor
    Provide an Executor for the task at hand.
  • Method Details

    • provide

      @NotNull @NotNull Executor provide()
      Provide an Executor for the task at hand.