org.eclipse.microprofile.faulttolerance

## Annotation Type Bulkhead

    @Documented
     @Retention(value=RUNTIME)
     @Target(value={METHOD,TYPE})
     @Inherited
     @InterceptorBinding
    public @interface Bulkhead

Define bulkhead policy to limit the number of the concurrent calls to an instance.

If this is used together with `Asynchronous`, it means thread isolation. Otherwise, it means semaphore isolation.

- Thread isolation - execution happens on a separate thread and the concurrent requests are confined in a fixed number of a thread pool.
- Semaphore isolation - execution happens on the calling thread and the concurrent requests are constrained by the semaphore count.

Author:
  Emily Jiang
See Also:
  `value()`, `waitingTaskQueue()`

### Optional Element Summary

Optional Elements
`int` `value` Specify the maximum number of concurrent calls to an instance.
`int` `waitingTaskQueue` Specify the waiting task queue.

### Element Detail

#### value

    public abstract int value

Specify the maximum number of concurrent calls to an instance. The value must be greater than 0. Otherwise, `FaultToleranceDefinitionException` occurs.

Returns:
  the limit of the concurrent calls

Default:
  10

#### waitingTaskQueue

    public abstract int waitingTaskQueue

Specify the waiting task queue. This setting only takes effect on asynchronous invocation, achieved by using `Asynchronous`. The value must be greater than 0. Otherwise, `FaultToleranceDefinitionException` occurs.

Returns:
  the waiting queue size

Default:
  10