SmallRye Fault Tolerance expects integrators to provide a thread pool for running
@Asynchronous methods and other asynchronous tasks.
This integration is based on CDI.
The integrator should provide a CDI bean which implements
The bean should be
@Singleton, must be marked as alternative and selected globally for the application.
There is a default thread pool in case no integration is provided, but it shouldn’t be used outside of tests or experiments.
This is provided by the
AsyncExecutorProvider default implementation,
Integrators that are themselves Jakarta EE application servers and don’t want to expose their own thread pool can subclass
This at least allows customizing the
If the integrator doesn’t provide a thread pool, the default thread pool is used as described above. In such case, the following configuration properties are recognized:
io.smallrye.faulttolerance.mainThreadPoolSize: maximum number of threads in the thread pool. Defaults to
io.smallrye.faulttolerance.mainThreadPoolQueueSize: size of the queue that the thread pool should use. Can be
> 0, in which case the queue will be bounded to given size. Can be
0, in which case there will be no queue, and the thread pool will reject excess tasks. Can be
-1, in which case the queue will be unbounded. Values
< -1are an error. Defaults to