- All Superinterfaces:
FtHandler,RuntimeType.Api<BulkheadConfig>
Bulkhead protects a resource that cannot serve unlimited parallel
requests.
When the limit of parallel execution is reached, requests are enqueued
until the queue length is reached. Once both the limit and queue are full,
additional attempts to invoke will end with a failed response with
BulkheadException.
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic interfaceA Bulkhead listener for queueing operations.static interfaceProvides statistics during the lifetime of a bulkhead, such as concurrent executions, accepted/rejected calls and queue size. -
Method Summary
Modifier and TypeMethodDescriptionstatic BulkheadConfig.Builderbuilder()Create a new bulkhead fluent API builder.booleancancelSupplier(Supplier<?> supplier) Can be used to cancel a supplier while queued.static Bulkheadcreate(BulkheadConfig config) CreateBulkheadfrom its configuration.static Bulkheadcreate(Consumer<BulkheadConfig.Builder> builderConsumer) CreateBulkheadcustomizing its configuration.stats()Provides access to internal stats for this bulkhead.Methods inherited from interface io.helidon.builder.api.RuntimeType.Api
prototype
-
Method Details
-
create
CreateBulkheadfrom its configuration.- Parameters:
config- configuration of a bulkhead to create- Returns:
- a new bulkhead
-
create
CreateBulkheadcustomizing its configuration.- Parameters:
builderConsumer- consumer to update configuration of bulkhead- Returns:
- a new bulkhead
-
builder
Create a new bulkhead fluent API builder.- Returns:
- a new bulkhead builder
-
stats
Bulkhead.Stats stats()Provides access to internal stats for this bulkhead.- Returns:
- internal stats.
-
cancelSupplier
Can be used to cancel a supplier while queued.- Parameters:
supplier- the supplier- Returns:
- outcome of cancellation
-