Class FutureThreadPoolBulkhead<V>

java.lang.Object
io.smallrye.faulttolerance.core.bulkhead.BulkheadBase<Future<V>>
io.smallrye.faulttolerance.core.bulkhead.FutureThreadPoolBulkhead<V>
All Implemented Interfaces:
FaultToleranceStrategy<Future<V>>

public class FutureThreadPoolBulkhead<V> extends BulkheadBase<Future<V>>
Thread pool style bulkhead for Future asynchronous executions.

Since this bulkhead is already executed on an extra thread, we don't have to submit tasks to another executor or use an actual queue. We just limit the task execution by semaphores. This kinda defeats the purpose of bulkheads, but is the easiest way to implement them for Future. We do it properly for CompletionStage, which is much more useful anyway.